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

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

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

    String abc = "ABC"; String BBB = "Something longer than abc"; 

编辑:: 我正在使用从“添加>新项目>本地数据库”创建的“本地数据库”,那么我将如何连接到该? 抱歉这个愚蠢的问题..我从未在.net中使用过数据库

根据需要,您也可以考虑使用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的引用

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

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

好像你是:

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

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

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

alt text

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

您可以从他们的站点Sqlite.NET获取示例代码

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

http://www.sqlite.org/

这里是一个ADO.NET提供商..

http://sqlite.phxsoftware.com/

1)

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

对于2)

这是一个很大的话题。 您可能需要阅读Microsoft的一些教程,以了解如何连接到DB等。