Создание базы данных sqlite visual studio

Обновлено: 03.07.2024

Visual Studio можно использовать для создания и обновления файла локальной базы данных в SQL Server Express LocalDB. можно также создать базу данных, выполнив инструкции Transact-SQL в окне инструментов обозревателя объектов SQL Server в Visual Studio. В этом разделе мы создадим MDF файл и добавим таблицы и ключи с помощью Конструктор таблиц.

Предварительные требования

Создание проекта и файла локальной базы данных

в строке меню выберите Project > добавить новый элемент.

В списке шаблонов элементов прокрутите вниз и выберите база данных на основе службы.

Добавление нового элемента > базы данных на основе службы

Добавление нового элемента > базы данных на основе службы

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

Добавление источника данных

если окно источники данных не открыто, откройте его, нажав клавиши Shift + Alt + D или выбрав просмотреть > другие Windows > источники данных в строке меню.

В окне Источники данных выберите Добавить новый источник данных.

Добавить новый источник данных в Visual Studio

Добавить новый источник данных в Visual Studio

Откроется Мастер настройки источника данных .

На странице Выбор типа источника данных выберите база данных , а затем нажмите кнопку Далее.

На странице Выбор модели базы данных нажмите кнопку Далее , чтобы принять значение по умолчанию (набор данных).

На странице Выбор подключения к данным выберите файл сампледатабасе. mdf в раскрывающемся списке и нажмите кнопку Далее.

На странице сохранить строку подключения в файле конфигурации приложения нажмите кнопку Далее.

Просмотр свойств подключения к данным

Чтобы просмотреть строку подключения для файла сампледатабасе. mdf , откройте окно свойств подключения к данным:

выберите вид > SQL Server обозревателе объектов , чтобы открыть окно обозревателя объектов SQL Server . Разверните узел (LocalDB) \MSSQLLocalDB > базы данных, а затем щелкните правой кнопкой мыши сампледатабасе. mdf и выберите пункт Свойства.

Кроме того, можно выбрать пункт Просмотреть > Обозреватель сервера, если это окно еще не открыто. Откройте окно свойств, развернув узел подключения к данным , щелкнув правой кнопкой мыши сампледатабасе. mdf и выбрав пункт Свойства.

если не удается развернуть узел подключения к данным или отсутствует подключение сампледатабасе. mdf, нажмите кнопку Подключение к базе данных на панели инструментов обозреватель сервера. в диалоговом окне добавление соединения убедитесь, что в поле источник данных выбран Microsoft SQL Server файл базы данных , а затем найдите и выберите файл сампледатабасе. mdf. Завершите добавление подключения, нажав кнопку ОК.

Создание таблиц и ключей с помощью конструктор таблиц

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

Создание таблицы Customers

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

если не удается развернуть узел подключения к данным или отсутствует подключение сампледатабасе. mdf, нажмите кнопку Подключение к базе данных на панели инструментов обозреватель сервера. в диалоговом окне добавление соединения убедитесь, что в поле источник данных выбран Microsoft SQL Server файл базы данных , а затем найдите и выберите файл сампледатабасе. mdf. Завершите добавление подключения, нажав кнопку ОК.

Щелкните правой кнопкой мыши таблицы и выберите команду Добавить новую таблицу.

Будет открыт Конструктор таблиц, отобразится сетка с одной строкой по умолчанию, которая представляет один столбец в создаваемой таблице. Путем добавления строк в сетку будут добавлены столбцы в таблицу.

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

Щелкните строку правой кнопкой мыши CustomerID и выберите пункт Задать первичный ключ.

Щелкните строку по умолчанию () правой кнопкой мыши Id и выберите пункт Удалить.

Назовите таблицу "Клиенты" путем обновления первой строки в области скриптов, как показано в следующем примере:

Отобразятся примерно следующие сведения:

конструктор таблиц с таблицей Customers

конструктор таблиц с таблицей Customers

В левом верхнем углу Конструктор таблиц выберите Обновить или нажмите клавиши SHIFT + ALT + U.

В диалоговом окне Предварительный просмотр обновлений базы данных выберите обновить базу данных.

Таблица Customers создается в файле локальной базы данных.

Создание таблицы Orders

Создайте еще одну таблицу, а затем добавьте строку для каждой записи следующей таблицы.

Задайте OrderID в качестве первичного ключа, а затем удалите строку по умолчанию.

Назовите таблицу "Заказы" путем обновления первой строки в области скриптов, как показано в следующем примере:

В левом верхнем углу Конструктор таблиц выберите Обновить или нажмите клавиши SHIFT + ALT + U.

В диалоговом окне Предварительный просмотр обновлений базы данных выберите обновить базу данных.

Таблица Orders создается в файле локальной базы данных. Если развернуть узел таблицы в обозреватель сервера, отобразятся две таблицы:

Узел таблиц, развернутый в обозреватель сервера

Узел таблиц, развернутый в обозреватель сервера

Если вы не видите его, нажмите кнопку Обновить на панели инструментов.

Создание внешнего ключа

В контекстной области в правой части сетки конструктор таблиц для таблицы Orders щелкните правой кнопкой мыши внешние ключи и выберите Добавить новый внешний ключ.

Добавление внешнего ключа в конструктор таблиц в Visual Studio

В появившемся текстовом поле замените текст ToTable на Customers.

в области T-SQL обновите последнюю строку, чтобы она соответствовала следующему примеру:

В левом верхнем углу Конструктор таблиц выберите Обновить (SHIFT + ALT + U).

В диалоговом окне Предварительный просмотр обновлений базы данных выберите обновить базу данных.

Создается внешний ключ.

Заполнение таблиц данными

в обозреватель сервера или SQL Server обозревателе объектов разверните узел образца базы данных.

Откройте контекстное меню для узла таблицы , выберите Обновить, а затем разверните узел таблицы .

Откройте контекстное меню таблицы Customers и выберите Просмотреть данные.

Добавьте необходимые данные для некоторых клиентов.

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

Откройте контекстное меню таблицы Orders и выберите пункт отобразить данные таблицы.

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

Убедитесь, что все идентификаторы заказов и количества заказов — целые числа, и каждый идентификатор клиента соответствует значению, указанному в столбце CustomerID таблицы клиентов.

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


В некоторых проектах достаточно часто возникает необходимость в хранении данных, объем которых уже нельзя назвать маленьким, но в тоже время использовать какую-либо СУБД слишком накладно из-за сложности развертывания приложения. И тут на помощь приходит такая прекрасная вещь как SQLite – компактная встраиваемая база данных.

С чего начать

Если вы используете среду разработки Visual Studio (в частности версию 2008), то вам может так же пригодиться SQLite Designer, который дает возможность использовать визуальные средства для работы с базами SQLite: построитель запросов (Query Builder), редактирование таблиц и ряд других возможностей.

Ну и в дополнение ко всему в поставку библиотеки провайдера входит сборка System.Data.SQLite.Linq.dll, которая обеспечивает доступ к технологии LINQ.

Создание базы данных SQLite

class Program
static void Main( string [] args)
string baseName = "CompanyWorkers.db3" ;

public sealed class SQLiteFactory : DbProviderFactory, IServiceProvider
public sealed class SQLiteConnection : DbConnection, ICloneable

Убедиться в том, что база в действительности была создана можно с помощью уже упомянутого Server Explorer, просто создав соединение к файлу базы:


Рис. 1. Просмотр базы данных CompanyWorkers через Server Explorer

Редактирование базы данных SQLite

namespace DataEditor
public partial class _Default : System.Web.UI. Page
private void GridViewDataBind()
//Обновляем данные в GridView1
this .GridView1.DataBind();
>

protected void DetailsView1_ItemDeleted( object sender, DetailsViewDeletedEventArgs e)
GridViewDataBind();
>

protected void DetailsView1_ItemUpdated( object sender, DetailsViewUpdatedEventArgs e)
GridViewDataBind();
>

protected void DetailsView1_ItemInserted( object sender, DetailsViewInsertedEventArgs e)
GridViewDataBind();
>
>
>

Теперь приложение полностью готово к использованию. Окончательный вид редактора для редактирование таблицы workers из базы CompanyWorkers.db3:



Рис. 5. Редактор, готовый к работе.

Благодаря использованию SQLite мне не понадобилось разворачивать каких-либо служб для работы с базой.

Заключение

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

Настройка среды разработки базы данных SQLite в Visual Studio



2. Используйте файлы библиотеки, предоставленные Cocos2d-x.
Поскольку движок Cocos2d-x фактически уже имеет библиотеки, необходимые для доступа к SQLite под Win32, расположение файлов библиотеки SQLite в Cocos2d-x 3.x находится в каталоге <каталог проекта> \ cocos2d \ external \ sqlite3 \ libraries \ win32. Файл находится в каталоге <каталог проекта> \ cocos2d \ external \ sqlite3 \ include. Мы можем использовать это напрямую.
Преимущество этого метода в том, что вы можете напрямую использовать движок Cocos2d-x для компиляции файлов библиотеки для разработчиков, и совместимость версий хорошая. Недостатком является то, что сложно настроить среду разработки, а файлы библиотеки Win32 нельзя использовать при переносе на другие платформы. Нам необходимо перенастроить среду. Мы подробно представим этот метод ниже.
Во-первых, нам нужно настроить путь поиска файла заголовка, выбрать проект HelloWorld, открыть меню «Проект» → «Свойства», чтобы открыть диалоговое окно свойств проекта, как показано на рисунке ниже, выберите «Свойства конфигурации» → « C ++ »→« Общие », справа Добавьте $ (EngineRoot) external \ sqlite3 \ include в« Дополнительный каталог для включения »в« Дополнительный каталог для включения ». Обратите внимание, что элементы конфигурации необходимо разделять точкой с запятой.



Затем нам нужно скопировать файлы библиотеки SQLite3 в среду выполнения. Самый простой способ - вручную скопировать файлы sqlite3.dll и sqlite3.lib из каталога <каталог проекта> \ cocos2d \ external \ sqlite3 \ libraries \ win32 в папку The каталог, в котором находится исполняемый файл, например: <каталог проекта> \ proj.win32 \ каталог Debug.win32. Затем проект можно скомпилировать, но если мы очистим каталог Debug.win32, эти два файла будут потеряны. Чтобы предотвратить это, мы можем установить событие компиляции при компиляции проекта, и мы можем определить процесс копирования в этом событии. Откройте диалоговое окно свойств проекта, как показано на рисунке ниже, выберите «Свойства конфигурации» → «Создать событие» → «Событие перед связыванием», измените «Командную строку» в правом окне, и содержимое будет следующим:
if not exist "$(OutDir)" mkdir "$(OutDir)"
xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)"
xcopy /Y /Q "$(EngineRoot)external\sqlite3\libraries\win32\*.*" "$(OutDir)"
Последняя строка была добавлена ​​нами. Исходный шаблон проекта настраивал только копии веб-сокетов. Это скопирует все файлы в каталоге $ (EngineRoot) external \ sqlite3 \ libraries \ win32 \ в выходной каталог при компиляции нашего проекта, где макрос $ (EngineRoot) представляет каталог <каталог проекта> \ cocos2d \, $ ( OutDir) Макрос - это каталог создания исполняемых файлов, который представляет каталог <каталог проекта> \ proj.win32 \ Debug.win32.


Попробуем скомпилировать проект или регенерировать решение, чтобы посмотреть, включены ли файлы библиотеки sqlite3.dll и sqlite3.lib в каталог создания исполняемых файлов.

SQLite являются официально рекомендуемой системой управления баз данных для создания локального хранилища данных в Windows 10. SQLite обладает такими преимуществами, как компактность, кроссплатформенность, переносимость, ее не надо разворачивать на сервере, что делает ее очень удобным инструментом в мобильной разработке для разных ОС. Рассмотрим, как мы можем использовать SQLite при программирования в приложениях Universal Windows Platform. Прежде всего создадим новый проект, который назовем SQLiteApp .

Прежде всего для работы с SQLite нам надо устанавить для Visual Studio соответствующее расширение. Для этого в Visual Studio перейдем к пункту меню Tools -> Extensions and Updates . И здесь среди всех расширений нам надо установить расширение SQLite for Universal App Platform :

SQLite for Universal App Platform

Чтобы быстрее найти нужное расширение, надо в левом списке перейти к пункту Online и ввести в окно поиска SQLite.

Например, в моем случае (да и как правило, по умолчанию) в качестве минимальной версии применяется Windows 10 November Update:

.NET Standard 2.0 в UWP

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

EntityFramework Core и SQLite в UWP

Соответственно если бы проект использовал в качестве целевой и минимальной версий Windows 10 Fall Creators Update или более новую:

.NET Standard 2.0 в Universal Windows Platform

То мы могли бы использовать пакеты Entity Framework Core версий 2.х:

EntityFramework и SQLite в UWP

Теперь создадим модели, которые будут описывать данные и объекты которых будут храниться в бд SQLite. Для этого добавим в проект два класса. Класс Phone, который будет представлять модель телефона:

И класс Company, который представляет компанию-производителя телефона:

Итак, у нас здесь две модели, которые связаны связью "один-ко-многим", то есть одной компании может принадлежать много телефонов. А модель телефона хранит ссылку на определенную компанию.

При использовании Entity Framework нам надо учитывать некоторые условности. Во-первых, каждая модель должна иметь свойство-уникальный идентификатор, который должен называться Id или по шаблону [Класс]Id , например, для класса Phone это было бы свойство PhoneId . По этому уникальному идентификатору данные будут уникально различаться в базе данных.

Во-вторых, для создания связи "один-ко-многим" зависимая модель должна содержать ключ. В нашем случае зависимой моделью является Phone, поэтому он определяет ключ в виде двух свойств:

Свойство CompanyId хранит идентификатор модели Company, которая связана с данной моделью Phone. А свойство Company является ссылкой на этот связанный объект Company.

Для хранения всех объектов Phone в классе Company определено свойство

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

Итак, добавим в проект новый класс MobileContext:

Класс контекста данных должен быть унаследован от базового класса DbContext, а для взаимодействия с таблицами в базе данных в нем определяются свойства по типу DbSet<T> . То есть через свойство Companies будет идти взаимодействие с таблицей компаний, а через свойство Phones - взаимодействие с таблицей телефонов.

Теперь нам нужна сама база данных. Здесь есть два варианта:

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

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