Очистить базу данных visual studio

Обновлено: 05.07.2024

В базу данных можно не только добавлять данные, но и удалять их оттуда. Ещё существует возможность обновить данные в базе. Рассмотрим оба случая.

Удаление данных из базы (DELETE)

Удаление из базы данных происходит с помощью команды "DELETE" (переводится с английского как "УДАЛИТЬ"). Функция удаляет не одну строку, а несколько, при этом выбирает для удаления строки по логике функции "SELECT". То есть чтобы удалить данные из базы, необходимо точно определить их. Приведём пример SQL команды для удаления одной строчки: Благодаря этому запросу из таблицы "USERS" будет удалена одна запись, у которой в столбце "ID" стоит значение "2".

Обратите внимание, что в конце запроса стоит лимит на выборку "LIMIT 1;" размером в 1 строку. Его можно было не ставить, если поле "ID" является "PRIMARY KEY" (первичный ключ, то есть содержит только уникальные значения). Но всё-таки рекомендуем ставить ограничение "LIMIT 1;" в любом случае, если вы намерены удалить только одну строчку.

Теперь попробуем удалить сразу диапазон данных. Для этого достаточно составить запрос, в результате выполнения которого вернётся несколько строк. Все эти строки будут удалены: Этот запрос удалит все строки в таблицы, у которых в столбце "ID" стоит значение меньше 5. Если не поставить никакого условия "WHERE" и лимита "LIMIT", то будут удалены абсолютно все строки в таблице:

На некоторых версиях MySQL способ удаления всех строк через "DELETE FROM _;" может работать медленнее, чем "TRUNCATE _;"; Поэтому для очистки всей таблицы лучше всё-таки использовать "TRUNCATE".

Обновление данных в базе (UPDATE)

Функция обновления "UPDATE" (переводится с английского как "ОБНОВИТЬ") довольно часто используется в проектах сайтов. Как и в случае с функцией "DELETE", фкнция обновления не успокоится до тех пор, пока не обновит все поля, которые подходят под условия, если нет лимита на выборку. Поэтому необходимо задавать однозначные условия, чтобы вместо одной строки нечаянно не обновить половину таблицы. Приведём пример использования команды "UPDATE": В этом примере, в таблие "USERS" будет установлено значение "Мышь" в столбец "NAME" у строки, в столбце "ID" которой стоит значение "3". Можно обновить сразу несколько столбцов у одной записи, передав значения через запятую. Попробуем обновить не только значение с толбце "NAME", но и значение в столбце "FOOD" используя один запрос: Если не поставить никаких лимитов LIMIT и условий WHERE, то все записи таблицы будут обновлены без исключений.

У меня есть проект ASP.NET MVC 5, который работает локально, и всякий раз, когда мне нужно сдуть БД, я просто открываю новый запрос, изменяю раскрывающийся список доступной базы данных на master, затем закрываю соединение на моей локальной базе данных и запускаю запрос "удалить базу данных [имя]". Затем я собираю проект, захожу в консоль диспетчера пакетов и запускаю «Update-Database». Кажется, это восстанавливает новую локальную базу данных и запускает метод seed в моем файле configuration.cs.

Проблема в том, что когда мне нужно протестировать что-то в реальной среде, чтобы я мог тестировать API и тому подобное, я выполняю развертывание на веб-сайте Azure и сопутствующей базе данных Azure, что приятно и легко сделать. Я отмечаю «Выполнить первые миграции кода» в мастере публикации, и большую часть времени он работает, и я могу запускать и отлаживать свою живую версию. Иногда мне нужно избавиться от этой базы данных и снова начать с нуля, но на самом деле я нашел единственный способ сделать это - зайти на портал Azure, удалить базу данных, а затем заново создать ее с тем же именем. Для обработки Azure требуется некоторое время, поэтому это медленный цикл тестирования.

Есть ли быстрый способ просто сбросить / сбросить базу данных SQL Azure до ее свежего, пустого, девственного состояния, а затем повторно опубликовать с помощью «сначала выполнить миграцию кода», чтобы заново создать таблицы и повторно заполнить данные?

Я видел некоторые разговоры о создании начальной миграции после создания базы данных, а затем о попытке использовать Powershell для какого-то отката к этому начальному состоянию, но мне не повезло, что он заработал, и Я хочу удалить все данные одновременно. Возможно, у меня просто неправильный синтаксис или я не нашел достаточно хорошего руководства. Хотя я могу выполнить запрос к базе данных Azure, чтобы «отбросить базу данных [x]», он буквально убивает экземпляр базы данных SQL Azure, как и следовало ожидать, и вам нужно вернуться на портал, чтобы воссоздать его. Иногда это начальное состояние не подходит, поскольку с тех пор модель была обновлена, так что в любом случае это может оказаться бесполезным.

Я чувствую, что должен быть какой-то более простой и более быстрый способ протестировать изменения в живой среде, поскольку есть все эти замечательные инструменты и ярлыки, предоставленные MS, но они просто бросили мяч здесь для этого этапа разработки или я что-то упустил?

1. Создание базы данных

В качестве СУБД выберем программу Microsoft Access. Но вы можете использовать и другую базу данных.

Создаем базу данных в Microsoft Access и называем её «test». В этой базе данных создаем таблицу «contacts»:

Заполните базу данных данными:

Базу данных вы можете и другую создать и данные в ней можете другие добавить т.к. это не принципиально, но мы будем работать с данной таблицей.

2. Создание проекта

В Visual Studio создаём проект:

Открываем список «Выберите источник данных» и нажимаем на ссылку «Добавить источник данных проекта»:

Откроется «Мастер настройки источника данных». В качестве источника выбираем «База данных» и идем далее:

В следующем окне идем далее:

В окне «Выбор подключения к базе данных» нажимаем на «Создать подключение»:

В следующем окне «Добавить подключение» выбираем в «Поставщик OLE DB» Microsoft Office 16.0 Access Database. В «Имя сервера или файла» вписываем путь к нашему файлу базы данных Access (который создали в первом пункте). Проверяем подключение и жмем «ОК»:

Update 2021: Visual Studio 2019 требует файл Access старого формата (.mdb – это старый формат баз данных Access 2002-2003):

В следующем окне идем далее:

Выйдет окно для переноса файла базы данных в Ваш проект нажимаем «Да»:

В следующем окне ничего не меняем и идем далее:

В следующем окне выбираем нашу таблицу «contacts» и жмем «Готово»:

После всех манипуляций наша форма должна быть примерно такой:

Если запустить наш проект, то можно увидать данные из нашей базы данных:

Поменяйте ширину всех столбцов на «150» чтобы столбцы вместились во все окно:

Вот так без единой строчки кода мы вывели данные из нашей таблицы на нужную нам форму. Переходим к 3 пункту.

3. Сохранение данных

Базу данных мы видим, но редактировать её невозможно и именно поэтому нам нужна кнопка «Сохранить». Добавляем на форму кнопку и в свойствах меняем имя на «SaveButton». После добавления кнопки нажимаем на нее два раза и пишем код:

После добавления кода запустите свое приложение и попробуйте изменить любую запись и сохранить.

4. Изменение заголовков столбцов таблицы

Изменим текст столбцов и скроем столбец «img»:

Полезные свойства для изменения столбцов:

  • HeaderText – задает название столбца.
  • Visible – скрывает заголовок или наоборот.
  • Width – ширина столбца.
  • Resizable – можно ли изменять ширину столбца.

После того как скроете заголовок «img» измените ширину всех остальных заголовков:

5. Защита от случайного удаления

Чтобы пользователь случайно не удалил запись в нашей базе данных нужно сделать так чтобы перед удалением приложение спрашивало об удалении записи.

Для этого перейдем к компоненту DataGridView, откроем список событий и установим обработчик для события UserDeletingRow. Нажмите два раза на пустую строчку возле события и перейдете к коду. Вписываем код:

После этого проверим работоспособность данного кода. Запустим приложение и попробуем удалить запись. Должно быть вот так:

6. Добавление данных

Добавляем новую форму в проект и называем ее «AddForm»:

Изменяем заголовок формы и добавляем на форму компоненты:

  • 1 groupBox c текстом «Добавление записи»;
  • 4 TextBox и меняем свойство «Name» на (tbName, tbPhone, tbMail, tbPhoto);
  • 4 label и меняем текст на (Имя, Телефон, E-mail, Фото);
  • 1 Button и меняем свойство «Name» на «AddBtn» (Добавить);
  • 1 Button и меняем свойство «Name» на «CloseBtn» (Закрыть).

Переходим на главную форму и добавляем кнопку «Добавить» для добавления новой записи. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:

Проверьте работоспособность приложения:

Возвращаемся на форму «Добавления записи». Пишем обработчик событий для кнопки «CloseBtn»:

Чтобы обработчик событий на кнопке «AddBtn» работал как надо нужно выполнить несколько действий. Зайти в «Form1.Designer.cs» и изменить модификаторы доступа на «public» нижеуказанных файлов:

  • System.Windows.Forms.DataGridView dataGridView1;
  • testDataSet testDataSet;
  • System.Windows.Forms.BindingSource contactsBindingSource;
  • testDataSetTableAdapters.contactsTableAdapter contactsTableAdapter;

Это нужно для того чтобы наша база данных была доступна для разных с ней манипуляций во всех создаваемых нами формах. Обработчик событий для кнопки «AddBtn»:

Проверьте работу приложения. Добавьте несколько новых записей через новую форму добавления записей.

7. Поиск данных

Реализуем самый простой поиск. Данный поиск используется в небольших приложениях. Создаем новую форму с именем «SearchForm» и добавляем на форму компоненты:

  • 1 GroupBox (Поиск);
  • 1 label;
  • 2 button (Найти и Закрыть);
  • 1 TextBox и меняем в свойствах «Name» на «tbStr».

Переходим на главную форму и добавляем кнопку «Найти» для поиска записей. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:

Проверяем работоспособность приложения:

Возвращаемся на форму «Поиска». Пишем обработчик событий для кнопки «Закрыть»:

Пишем обработчик событий для кнопки «Найти»:

На главную форму добавляем кнопку «Выход» и пишем для нее код:

Итоговая форма приложения:

Приветствую всех! Часто на просторах интернета встречал вопрос, как сохранить изменения в базе данных. Тут все легко вызываем на адаптере метод Update(); и передаем ему в качестве параметров таблицу либо, DataSet. Выглядеть это может следующим образом:

Однако ситуация меняется кардинально если у нас DataGridView связан с БД и допустим с TextBox в котором мы производим изменения, для последующего сохранения данных. Связка происходит по средствам BindingSource.

Рассмотрим простой пример привязки данных DataGridView к БД и TextBox c БД для изменения информации и сохранения ее.

Как видите я разместил на форме Button, все остальные компоненты будут добавлены позже. Так же нам необходимо создать БД в проекте, в которой создадим таблицу, а в ней две колонки ID и Имя. Внесем несколько записей в БД. У меня получилось следующее:

После создания и внесение данных обновляем, сохраняем все. На этом этапе мы имеет БД с информацией, и приложение с компонентами на форме. Следующим этапом будет привязка компонента DataGridView к БД.


Далее у нас откроется мастер настройки источника данных. Повторяем все действия показанные на изображения ниже:








Теперь выбирая имя в DataGridView у нас выводит информацию в TextBox. В которой мы хотим реализовать возможность редактирования информации. Перейдя к событию мыши Click напишем следующий код:

Стоит так же отметить что у нас с генерировался и дополнительный код, в том числе и в главной форме.

Читайте также: