Создание базы данных sqlite visual studio
Visual Studio можно использовать для создания и обновления файла локальной базы данных в SQL Server Express LocalDB. можно также создать базу данных, выполнив инструкции Transact-SQL в окне инструментов обозревателя объектов SQL Server в Visual Studio. В этом разделе мы создадим MDF файл и добавим таблицы и ключи с помощью Конструктор таблиц.
Предварительные требования
Создание проекта и файла локальной базы данных
в строке меню выберите Project > добавить новый элемент.
В списке шаблонов элементов прокрутите вниз и выберите база данных на основе службы.
Присвойте базе данных имя сампледатабасе и нажмите кнопку Добавить.
Добавление источника данных
если окно источники данных не открыто, откройте его, нажав клавиши Shift + Alt + D или выбрав просмотреть > другие Windows > источники данных в строке меню.
В окне Источники данных выберите Добавить новый источник данных.
Откроется Мастер настройки источника данных .
На странице Выбор типа источника данных выберите база данных , а затем нажмите кнопку Далее.
На странице Выбор модели базы данных нажмите кнопку Далее , чтобы принять значение по умолчанию (набор данных).
На странице Выбор подключения к данным выберите файл сампледатабасе. mdf в раскрывающемся списке и нажмите кнопку Далее.
На странице сохранить строку подключения в файле конфигурации приложения нажмите кнопку Далее.
Просмотр свойств подключения к данным
Чтобы просмотреть строку подключения для файла сампледатабасе. mdf , откройте окно свойств подключения к данным:
выберите вид > SQL Server обозревателе объектов , чтобы открыть окно обозревателя объектов SQL Server . Разверните узел (LocalDB) \MSSQLLocalDB > базы данных, а затем щелкните правой кнопкой мыши сампледатабасе. mdf и выберите пункт Свойства.
Кроме того, можно выбрать пункт Просмотреть > Обозреватель сервера, если это окно еще не открыто. Откройте окно свойств, развернув узел подключения к данным , щелкнув правой кнопкой мыши сампледатабасе. mdf и выбрав пункт Свойства.
если не удается развернуть узел подключения к данным или отсутствует подключение сампледатабасе. mdf, нажмите кнопку Подключение к базе данных на панели инструментов обозреватель сервера. в диалоговом окне добавление соединения убедитесь, что в поле источник данных выбран Microsoft SQL Server файл базы данных , а затем найдите и выберите файл сампледатабасе. mdf. Завершите добавление подключения, нажав кнопку ОК.
Создание таблиц и ключей с помощью конструктор таблиц
В этом разделе вы создадите две таблицы, первичный ключ в каждой таблице и несколько строк образца данных. Вы также создадите внешний ключ, чтобы указать, как записи в одной таблице соответствуют записям в другой таблице.
Создание таблицы Customers
В Обозреватель сервера разверните узел подключения к данным , а затем узел сампледатабасе. mdf .
если не удается развернуть узел подключения к данным или отсутствует подключение сампледатабасе. mdf, нажмите кнопку Подключение к базе данных на панели инструментов обозреватель сервера. в диалоговом окне добавление соединения убедитесь, что в поле источник данных выбран Microsoft SQL Server файл базы данных , а затем найдите и выберите файл сампледатабасе. mdf. Завершите добавление подключения, нажав кнопку ОК.
Щелкните правой кнопкой мыши таблицы и выберите команду Добавить новую таблицу.
Будет открыт Конструктор таблиц, отобразится сетка с одной строкой по умолчанию, которая представляет один столбец в создаваемой таблице. Путем добавления строк в сетку будут добавлены столбцы в таблицу.
В сетке добавьте строку для каждой из следующих записей.
Щелкните строку правой кнопкой мыши CustomerID и выберите пункт Задать первичный ключ.
Щелкните строку по умолчанию () правой кнопкой мыши Id и выберите пункт Удалить.
Назовите таблицу "Клиенты" путем обновления первой строки в области скриптов, как показано в следующем примере:
Отобразятся примерно следующие сведения:
В левом верхнем углу Конструктор таблиц выберите Обновить или нажмите клавиши SHIFT + ALT + U.
В диалоговом окне Предварительный просмотр обновлений базы данных выберите обновить базу данных.
Таблица Customers создается в файле локальной базы данных.
Создание таблицы Orders
Создайте еще одну таблицу, а затем добавьте строку для каждой записи следующей таблицы.
Задайте OrderID в качестве первичного ключа, а затем удалите строку по умолчанию.
Назовите таблицу "Заказы" путем обновления первой строки в области скриптов, как показано в следующем примере:
В левом верхнем углу Конструктор таблиц выберите Обновить или нажмите клавиши SHIFT + ALT + U.
В диалоговом окне Предварительный просмотр обновлений базы данных выберите обновить базу данных.
Таблица Orders создается в файле локальной базы данных. Если развернуть узел таблицы в обозреватель сервера, отобразятся две таблицы:
Если вы не видите его, нажмите кнопку Обновить на панели инструментов.
Создание внешнего ключа
В контекстной области в правой части сетки конструктор таблиц для таблицы Orders щелкните правой кнопкой мыши внешние ключи и выберите Добавить новый внешний ключ.
В появившемся текстовом поле замените текст 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 :
Чтобы быстрее найти нужное расширение, надо в левом списке перейти к пункту Online и ввести в окно поиска SQLite.
Например, в моем случае (да и как правило, по умолчанию) в качестве минимальной версии применяется Windows 10 November Update:
Минимальная версия среды указывается при создании проекта и потом ее можно увидеть и изменить в свойствах проекта.
Соответственно если бы проект использовал в качестве целевой и минимальной версий Windows 10 Fall Creators Update или более новую:
То мы могли бы использовать пакеты Entity Framework Core версий 2.х:
Теперь создадим модели, которые будут описывать данные и объекты которых будут храниться в бд SQLite. Для этого добавим в проект два класса. Класс Phone, который будет представлять модель телефона:
И класс Company, который представляет компанию-производителя телефона:
Итак, у нас здесь две модели, которые связаны связью "один-ко-многим", то есть одной компании может принадлежать много телефонов. А модель телефона хранит ссылку на определенную компанию.
При использовании Entity Framework нам надо учитывать некоторые условности. Во-первых, каждая модель должна иметь свойство-уникальный идентификатор, который должен называться Id или по шаблону [Класс]Id , например, для класса Phone это было бы свойство PhoneId . По этому уникальному идентификатору данные будут уникально различаться в базе данных.
Во-вторых, для создания связи "один-ко-многим" зависимая модель должна содержать ключ. В нашем случае зависимой моделью является Phone, поэтому он определяет ключ в виде двух свойств:
Свойство CompanyId хранит идентификатор модели Company, которая связана с данной моделью Phone. А свойство Company является ссылкой на этот связанный объект Company.
Для хранения всех объектов Phone в классе Company определено свойство
После определения моделей нам надо добавить в проект класс контекста данных, через который приложение будет взаимодействовать с базой данных.
Итак, добавим в проект новый класс MobileContext:
Класс контекста данных должен быть унаследован от базового класса DbContext, а для взаимодействия с таблицами в базе данных в нем определяются свойства по типу DbSet<T> . То есть через свойство Companies будет идти взаимодействие с таблицей компаний, а через свойство Phones - взаимодействие с таблицей телефонов.
Теперь нам нужна сама база данных. Здесь есть два варианта:
У нас нет начальных данных и соответственно базы данных, однако при работе приложения после установки приложения на устройство она может потребоваться. Поэтому имеет смысл создать базу данных сразу после установки на устройство.
Читайте также: