使用Visual Studio 2012的本地数据库

时间:2012-11-14 17:13:36

标签: c# visual-studio-2012

我正在创建一个应用程序,我想使用存储在客户端本地计算机上的本地数据库。我正在讨论是否应该使用SQLITE或者Visual Studio中有什么东西来帮助我。另一件事是我想在启动应用程序时以编程方式在users目录中创建数据库。

我在网上看到了一些内容,但文章都是关于SQL Server的东西,而且我不想要这个应用程序。所有数据都需要存储在本地计算机上。

3 个答案:

答案 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过去很适合简单的应用程序。它是嵌入式的,甚至以中等信任的方式运行。