.NET Window Forms本地数据库

时间:2012-01-31 22:44:17

标签: .net winforms dataset

我刚刚开始编写Windows窗体应用程序,我想将数据存储在数据库中,而不是存储在实际的数据库服务器中......类似于SQLite(本地,独立于服务器)。

.NET有没有开箱即用的东西?我查看了DataSet,但我很难填充它。

任何指针都表示赞赏,谢谢!

3 个答案:

答案 0 :(得分:0)

如果您不需要保存大量数据,则可以使用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的“Designer”组件,这可能会简化数据集创建例程。请记得稍后从此site更新SQlite库。

答案 1 :(得分:0)

您可以尝试 SQL Server Compact ,我没有使用它,但似乎它正是您所寻找的。

答案 2 :(得分:0)

考虑使用Sql Server Compact版,您可以找到如何将其添加到项目here的说明。 下面的示例代码从包含数据库文件MyDb.sdf中的列Id的表MyTable中检索数据,还需要添加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());
    }
}