本地数据库,我需要一些例子

时间:2009-07-13 20:42:24

标签: c# database

我正在制作一个将在多台计算机上安装并运行的应用程序,我的目标是创建一个随应用程序一起安装的空本地数据库文件,当用户使用该应用程序时,他的数据库将填充来自该应用程序。 你能给我提供以下例子:

  1. 我需要做什么,以便我的应用可以连接到本地数据库
  2. 如何使用应用程序中的变量执行查询,例如,如何向数据库添加以下内容

    String abc = "ABC";
    String BBB = "Something longer than abc";
    
  3. 等 编辑:: 我正在使用“添加>新项目>本地数据库”创建的“本地数据库”,那么我将如何连接到该数据库呢?抱歉这个愚蠢的问题..我从未在.net

    中使用过数据库

7 个答案:

答案 0 :(得分:22)

根据需要,您也可以考虑使用Sql CE。我敢肯定,如果您指定了您正在考虑使用的数据库,或者如果您使用了您的要求,那么您将获得正确且真实的连接字符串示例等。

编辑:这是SqlCe / Sql Compact

的代码
    public void ConnectListAndSaveSQLCompactExample()
    {
        // Create a connection to the file datafile.sdf in the program folder
        string dbfile = new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + "\\datafile.sdf";
        SqlCeConnection connection = new SqlCeConnection("datasource=" + dbfile);

        // Read all rows from the table test_table into a dataset (note, the adapter automatically opens the connection)
        SqlCeDataAdapter adapter = new SqlCeDataAdapter("select * from test_table", connection);
        DataSet data = new DataSet();
        adapter.Fill(data);

        // Add a row to the test_table (assume that table consists of a text column)
        data.Tables[0].Rows.Add(new object[] { "New row added by code" });

        // Save data back to the databasefile
        adapter.Update(data);

        // Close 
        connection.Close();
    }

请记住添加对System.Data.SqlServerCe的引用

答案 1 :(得分:11)

我没有看到有人建议使用SQL Compact;它与SQLite类似,因为它不需要安装和定制到低端数据库。它源于SQL Mobile,因此占用空间小,功能集有限,但如果您熟悉Microsoft的SQL产品,那么它应该有一些熟悉程度。

SQL Express是另一种选择,但要注意它需要独立安装,并且比applciation的本地缓存需要的更强一些。这说它也比SQL Compact或SQLite强大得多。

答案 2 :(得分:6)

好像你是:

  • - 创建一个将安装并运行多个的C#应用​​程序 计算机
  • - 需要一个本地数据库(我假设一个RDBMS)
  • - 您需要在安装时生成空白数据库
  • - 然后您需要能够连接到数据库并在何时填充它 该应用运行。

通常,您似乎需要阅读使用小型数据库引擎的应用程序。我首先检查SQLite,特别是如果您需要多操作系统功能(例如,您的C#程序将在Microsoft的.NET Framework和Novell的Mono上运行)。有用于访问SQLite数据库的C#包装器。

答案 3 :(得分:4)

我相信这个问题与Visual Studio中的“本地数据库”项目模板有关:

alt text

答案 4 :(得分:1)

您在考虑将数据库作为数据库?从您在问题中提供的内容来看,我建议使用SQLite。

您可以从其网站Sqlite.NET

获取示例代码

答案 5 :(得分:1)

我不确定我完全理解你的要求,但Sqlite是轻量级,本地部署的数据库持久性的一个很好的选择。看看这里:

http://www.sqlite.org/

这里是ADO.NET提供者..

http://sqlite.phxsoftware.com/

答案 6 :(得分:0)

1)

提供此功能的最简单方法是SQL Server Express User Instances。 SQL Server Express是免费的,因此您的用户无需为SQL Server支付额外的许可证,并且用户实例基于文件,这符合您的要求。

2)

这是一个很大的话题。您可能需要浏览一些tutorials from Microsoft以了解如何连接到数据库等。