Локальная база данных .NET Window Forms - PullRequest
1 голос
/ 01 февраля 2012

Я только начал писать приложение для Windows Forms и хотел бы хранить данные в базе данных, но не на реальном сервере БД ... что-то вроде SQLite (локально, независимо от сервера).

.NET имеет что-нибудь подобное из коробки? Я посмотрел в DataSets, но мне трудно заполнить его.

Любые указатели приветствуются, спасибо!

Ответы [ 3 ]

0 голосов
/ 01 февраля 2012

Вы можете попробовать SQL Server Compact , я не использовал его, но, похоже, это то, что вы ищете.

0 голосов
/ 01 февраля 2012

Рассмотрите версию Sql Server Compact, вы можете найти инструкцию, как добавить его в ваш проект здесь . Ниже примера кода для извлечения данных из таблицы MyTable, содержащей идентификатор столбца в файле базы данных MyDb.sdf, также необходимо добавить ссылку на сборку System.Data.SqlServerCe и пространство имен System.Data.SqlServerCe

using (SqlCeConnection ceConn = new SqlCeConnection(@"Data Source=|DataDirectory|\MyDb.sdf"))
using (SqlCeCommand ceCmd = new SqlCeCommand("select Id from MyTable", ceConn))
{
    ceConn.Open();
    SqlCeDataReader dataR = ceCmd.ExecuteReader();
    while (dataR.Read())
    {
        Console.WriteLine(dataR["Id"].ToString());
    }
}
0 голосов
/ 01 февраля 2012

Если вам не нужно сохранять огромное количество данных, вы можете использовать XML или даже JSON.С JSON.NET вы можете сериализовать объекты и записать их в текстовый файл, затем прочитать файл json и получить ваши данные обратно.

// define you data type
class MyData
{
   ...
}

// using MyData
string jsonString= myDaJsonConvert.SerializeObject<List<Profile>>(data);
List<Profile> data = myDaJsonConvert.DeserializeObject<List<Profile>>(jsonString);

РЕДАКТИРОВАТЬ 1:

Даже если его сборка System.Data.SQlite устарела, этот устаревший файл setup содержит компонент «Дизайнер» для ADO.NET 2.0, который может значительно упростить процедуру создания набора данных.Пожалуйста, не забудьте обновить библиотеки SQlite с этого сайта позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...