Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言的可移植数据库#_C#_Database_Portability - Fatal编程技术网

C# C语言的可移植数据库#

C# C语言的可移植数据库#,c#,database,portability,C#,Database,Portability,我知道这似乎是一个已经被问过的问题,但我已经尝试了解决方案 我正在用C#构建一个程序,我需要以一种方式保存数据,即每个客户机都有自己的数据库新路径(动态路径)。我该怎么做才能让用户不需要安装额外的东西,而只需要安装.NET framework 我听说过SQLite,但我没有真正让它工作。SQLServerCE。它在进程中运行,您可以在应用程序中部署所有必需的程序集。见本文: 更新:添加其他一些我认为有用的SQL Server CE相关链接: 您可以试试SQL Server Compac

我知道这似乎是一个已经被问过的问题,但我已经尝试了解决方案

我正在用C#构建一个程序,我需要以一种方式保存数据,即每个客户机都有自己的数据库新路径(动态路径)。我该怎么做才能让用户不需要安装额外的东西,而只需要安装.NET framework


我听说过SQLite,但我没有真正让它工作。

SQLServerCE。它在进程中运行,您可以在应用程序中部署所有必需的程序集。见本文:

更新:添加其他一些我认为有用的SQL Server CE相关链接:


您可以试试SQL Server Compact Edition-


下载SQLite.NET数据提供程序,然后从应用程序中引用System.data.SQLite.dll。下面的例子应该可以立即使用

using (var connection = new SQLiteConnection("Data Source=yourfile.db;Version=3;"))
using (var command = connection.CreateCommand())
{
  connection.Open();
  command.CommandText = "select name from from sqlite_master";
  using (var reader = command.ExecuteReader())
  {
    while (reader.Read())
    {
      Console.WriteLine(Convert.String(reader["name"]));
    }
  }
}
当然,它所做的只是列出指定文件中的表。如果该文件不存在,则会自动创建该文件,其中自然不会有任何表。但是,至少它应该可以工作。

如果我没有弄错的话,c#net可以与sql数据库接口,而不需要单独的服务器软件。您只需导入system.data.sqlclient


SQL可能适合您,但没有简单的入门方法是因为数据库体系结构不是一个简单的主题。如果你选择走这条路,有很多好书可以让你开始学习。它专门处理MSSQL的语法,但伊兹克·本·甘的《T-SQL基础》是一本很有帮助的书。当然,sql的不同迭代之间的语法变化是非常常见的,一旦您了解了您正在处理的一个迭代的特性,这并不是一个巨大的负担。

官方SQLite快速入门:

原始支持论坛上System.Data.Sqlite的代码示例:

您可以在这个相关问题的答案中找到SQLite的一些替代方案:


您计划支持哪些平台?只有窗户?此外,如果数据模型很简单,那么考虑基于文件的存储,而不是数据库。否则SQL Server可能是最好的选择。SQLite支持多平台扫描您是否澄清了便携的含义?如果你指的是X-Plat,那么SQL compact不是答案(尽管在windows上非常强大)。不完全是。还有SQL Server Compact Edition,@ipr101提到了它。完整的SQL Server需要已安装的服务。链接现在不工作,如何下载它:(第二个链接不工作)