我正在创建一个应用程序,我想使用存储在客户端本地计算机上的本地数据库。我正在讨论是否应该使用SQLITE
或者Visual Studio中有什么东西来帮助我。另一件事是我想在启动应用程序时以编程方式在users目录中创建数据库。
我在网上看到了一些内容,但文章都是关于SQL Server的东西,而且我不想要这个应用程序。所有数据都需要存储在本地计算机上。
答案 0 :(得分:5)
您可以使用SQL Server Compact,它在Visual Studio中具有工具。它与SQL Server的语法兼容,但将其数据存储在本地文件中,您可以动态创建(例如,在app启动时)。
答案 1 :(得分:2)
您可以使用其网站提供的库动态创建SQLite数据库。我在许多项目中使用它来获取我的个人代码,以及它在Data Explorer(IBM产品)的某些内部体系结构中使用。一些示例C#用于创建数据库文件:
if (!Directory.Exists(Application.StartupPath + "\\data"))
{
Directory.CreateDirectory(Application.StartupPath + "\\data");
}
SQLiteConnection conGlobal;
if (!File.Exists(dbGlobal))
{
conGlobal = new SQLiteConnection("Data Source=" + dbGlobal + ";New=True;Compress=True;PRAGMA synchronous = 1;PRAGMA journal_mode=WAL");
conGlobal.SetExtendedResultCodes(true);
firstRun = true;
}
else
{
conGlobal = new SQLiteConnection("Data Source=" + dbGlobal + ";Compress=True;PRAGMA synchronous = 1;PRAGMA journal_mode=WAL");
conGlobal.SetExtendedResultCodes(true);
}
try
{
conGlobal.Open();
}
catch (Exception)
{
//do stuff
}
如果new = true作为连接字符串传递,只需启动与文件的连接即可创建它。然后,您可以查询它并获得与任何数据库一样的结果。
您还可以使用SQLite-Shell或其他SQLite数据库查看器密码保护数据库文件,以防止访问它们。
有关在连接字符串中传递的pragma语句的更多信息,请参阅以下内容:http://www.sqlite.org/pragma.html
答案 2 :(得分:1)
我不确定编程方式(这可能就是你的意思,对吧?)创建数据库,但SQL Server Compact Edition过去很适合简单的应用程序。它是嵌入式的,甚至以中等信任的方式运行。