Перейти к содержимому

Как сохранить диаграмму базы данных sql

  • автор:

Сохранение диаграмм баз данных (визуальные инструменты для баз данных)

При сохранении диаграммы базы данных могут быть сохранены все изменения в базе данных, включая изменения, выполненные в таблицах, столбцах и других ее объектах.

Сохранение диаграммы базы данных

  1. В меню Файл выберите команду Сохранить имя_таблицы>.
  2. Если это новая диаграмма, которую еще ни разу не сохраняли, откроется диалоговое окно Сохранить как . Введите имя диаграммы. Если были выполнены изменения в таблицах существующей диаграммы, откроется диалоговое окно Сохранить со списком изменений, которые будут сохранены в базе данных при сохранении диаграммы.
  3. Нажмите кнопку Да (или ОК , если это новая диаграмма) для обновления базы в соответствии с диаграммой.

Как сохранить диаграмму базы данных sql

Данное руководство устарело. Актуальное руководство: по ADO.NET и работе с базами данных в .NET 6

Последнее обновление: 31.10.2015

Сохранение в базу данных файлов

Рассмотрим, как мы можем сохранять файлы, в частности, файлы изображений в базу данных. Для этого добавим в базу данных новую таблицу Images с четырьмя столбцами: Id (первичный ключ и идентификатор, имеет тип int), FileName (будет хранить имя файла и имеет тип nvarchar), Title (будет хранить заголовок файла и также имеет тип nvarchar) и ImageData (будет содержать бинарные данные файла и имеет тип varbimary(MAX)).

Сохранение файлов в базу данных

Определим код, в котором будут загружаться данные в таблицу:

private static void SaveFileToDatabase() < string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True"; using (SqlConnection connection = new SqlConnection(connectionString)) < connection.Open(); SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = @"INSERT INTO Images VALUES (@FileName, @Title, @ImageData)"; command.Parameters.Add("@FileName", SqlDbType.NVarChar, 50); command.Parameters.Add("@Title", SqlDbType.NVarChar, 50); command.Parameters.Add("@ImageData", SqlDbType.Image, 1000000); // путь к файлу для загрузки string filename = @"C:\Users\Eugene\Pictures\cats.jpg"; // заголовок файла string title = "Коты"; // получаем короткое имя файла для сохранения в бд string shortFileName = filename.Substring(filename.LastIndexOf('\\')+1); // cats.jpg // массив для хранения бинарных данных файла byte[] imageData; using (System.IO.FileStream fs = new System.IO.FileStream(filename, FileMode.Open)) < imageData = new byte[fs.Length]; fs.Read(imageData, 0, imageData.Length); >// передаем данные в команду через параметры command.Parameters["@FileName"].Value = shortFileName; command.Parameters["@Title"].Value = title; command.Parameters["@ImageData"].Value = imageData; command.ExecuteNonQuery(); > >

После выполнения этой программы в базе данных появится соответствующая запись:

Сохранение изображений в базе данных

Извлечение файлов из базы данных

В прошлой теме мы рассмотрели, как добавить файл в базу данных. Теперь произведем обратную операцию — получим файл из БД. Вначале определим класс файла, который упростит работу с данными:

public class Image < public Image(int id, string filename, string title, byte[] data) < FileName = filename; Title = title; Data = data; >public int Id < get; private set; >public string FileName < get; private set; >public string Title < get; private set; >public byte[] Data < get; private set; >>

Затем в коде программы определим следующий метод:

private static void ReadFileFromDatabase() < string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True"; Listimages = new List(); using (SqlConnection connection = new SqlConnection(connectionString)) < connection.Open(); string sql = "SELECT * FROM Images"; SqlCommand command = new SqlCommand(sql, connection); SqlDataReader reader = command.ExecuteReader(); while(reader.Read()) < int string filename = reader.GetString(1); string title = reader.GetString(2); byte[] data = (byte[])reader.GetValue(3); Image image = new Image(id, filename, title, data); images.Add(image); >> // сохраним первый файл из списка if(images.Count>0) < using (System.IO.FileStream fs = new System.IO.FileStream(images[0].FileName, FileMode.OpenOrCreate)) < fs.Write(images[0].Data, 0, images[0].Data.Length); Console.WriteLine("Изображение '' сохранено", images[0].Title); > > >

В этом методе с помощью SqlDataReader мы получаем значения из БД и по ним создаем объект Image, который потом добавляется в список. И в конце смотрим, если в списке есть элементы, то берем первый элемент и сохраняем его на локальный компьютер. И после сохранения в папке нашей программы появится загруженный из базы данных файл.

Ошибка при сохранении диаграммы бд

Создал бд, таблицы. Построил диаграмму, не дает сохранить. Пересоздавать не хочу лишний раз. Помогите великие хранители SQL ssms 18, express 19 введите сюда описание изображения введите сюда описание изображения введите сюда описание изображения

Отслеживать
задан 3 дек 2021 в 17:19
user417212 user417212
Какая у вас версия SSMS? Во многих старых версиях SSMS было много ошибок с диаграммами.
3 дек 2021 в 17:48
ssms 18, а express 19
– user417212
3 дек 2021 в 18:40
Именно по этой причине. Попробуйте SSMS 18.10
3 дек 2021 в 18:56

Какая у вас версия SSMS? Во многих старых версиях SSMS было много ошибок с диаграммами. Именно по этой причине не дает сохранить. Попробуйте SSMS 18.10 ![введите сюда описание изображения](i.stack.imgur.com/23vw8.jpg)

3 дек 2021 в 19:01

сходите в Tools -> Options -> Designers и снимите галку с Prevent saving changes that require table re-creation

4 дек 2021 в 11:22

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Ответ на вашу проблему можно найти просто прочитав сообщение об ошибке. Предлагается проследовать в настройки по пути Tools -> Options -> Designers и выставить галку «Prevent saving changes thath require table re-creation» или в вашем случае «запретить сохранение изменений требующих повторного создания таблицы»

введите сюда описание изображения

Отслеживать
ответ дан 4 дек 2021 в 11:28
29.2k 1 1 золотой знак 21 21 серебряный знак 43 43 бронзовых знака
спасибо за ответ
– user417212
5 дек 2021 в 20:53

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Руководство по тех. обслуживанию

1. В обозревателе объектов установите соединение с экземпляром компонента SQL Server Database Engine и разверните его.

Кликните мышью для просмотра изображения в полном размере

Установка соединения с экземпляром компонента SQL Server Database Engine.

2. Разверните папку Databases . Раскроется список существующих баз данных. Нам нужна база данных, связанная в приложением «Первая Форма». В стандартной сборке нужна база данных называется D10Task .

DP_SQLSMS_3

Выбор нужной БД.

3. Разверните БД D10Task . В раскрывшемся списке выберите раздел Tables (Таблицы) и кликните по ней правой кнопкой мыши. В открывшемся контекстном меню выберите пункт «New table. «

DP_SQLSMS_4

Создание новой таблицы БД.

4. Таким образом, создана новая таблица в существующей базе данных. Чтобы сохранить созданную таблицу, вызовите контекстное меню нажатием правой кнопки мыши и выберите действие «Сохранить» («Save table..»). После этого будут доступны все стандартные действия над таблицами БД (заполнение, настройка связей столбцов, излечение данных и т.д).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *