Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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语言编程创建SQL数据库#_C#_Xml_Sqlite_Monodevelop_Unity3d - Fatal编程技术网

C# 用c语言编程创建SQL数据库#

C# 用c语言编程创建SQL数据库#,c#,xml,sqlite,monodevelop,unity3d,C#,Xml,Sqlite,Monodevelop,Unity3d,是否可以通过编码在C#-中以编程方式创建SQLite数据库 我曾使用XML存储我的应用程序中所需的信息,但它已经到了这样一个阶段:从XML中读取的数据量会影响应用程序的性能 据我所知,使用提供的System.data.SQLite功能,可以更快地读取和添加SQLite数据库 这是正确的吗 [编辑] 此外,我应该提到,我正在使用Monodevelop在unity 3d中完成这一切。您可以在实体框架中使用代码优先功能:支持4.0的提供程序还添加了DeleteDatabase/CreateDataba

是否可以通过编码在C#-中以编程方式创建SQLite数据库

我曾使用XML存储我的应用程序中所需的信息,但它已经到了这样一个阶段:从XML中读取的数据量会影响应用程序的性能

据我所知,使用提供的System.data.SQLite功能,可以更快地读取和添加SQLite数据库

这是正确的吗

[编辑]
此外,我应该提到,我正在使用Monodevelop在unity 3d中完成这一切。

您可以在实体框架中使用代码优先功能:支持4.0的提供程序还添加了DeleteDatabase/CreateDatabase/DatabaseExists功能

更多信息,请访问:


我相信您甚至不需要显式地创建一个SQLite数据库来使用它,只要将其名称放入一个连接字符串中,当您在其中创建一个表时,它就会自动创建。

使用SQL Server CE

您可以创建如下所示的数据库文件:

我会使用它,因为它是“官方”MS数据库。因此,它可以与MS技术(Linq到SQL、实体框架等)配合使用。它也是一个非常轻量级的数据库。考虑到还有可用的SQLServerExpress,但这不是一个轻量级数据库

创建数据库的代码:

  string connectionString;
  string fileName = “ArcaneCode.sdf”;
  string password = “arcanecode”;

  connectionString = string.Format(
    “DataSource=\”{0}\”; Password=’{1}’”, fileName, password);

  SqlCeEngine en = new SqlCeEngine(connectionString);
  en.CreateDatabase();
分发它只需要复制几个小程序集(例如,它的安装程序是一个1.7Mb.msi文件,导致7个程序集)零配置。还有一些版本可以与.NET framework 2.0、3.0、3.5、4.0一起使用(SQLServer2005版到SQLSCE4.0版)

如果有人看不到MS支持的优势,那么就将其与C#和其他MS技术结合使用,并在MSDN上提供良好的文档


我想我被否决是因为有人对MS过敏。如果不是,请告诉我原因。

为什么是SQLite而不是SQL CE或SQL Server Express?为什么以编程方式?以编程方式,因为用户需要能够通过应用程序GUI创建和添加。SQLite,因为它是我在寻找XML替代品时遇到的。您是否推荐其他选择之一?SQL CE是免费的,非常轻量级,并受MS支持。一些系统,如Umbraco,将其用作后端数据库。创建DB和使用SQLite一样简单。我明白了,在尝试此操作时,我被告知使用了无效的连接字符串。我尝试过谷歌搜索,但似乎什么都没用。你能给点建议吗?修好了。Unity没有正确链接,因此将我需要的dll文件复制到了asset文件夹中。如果您希望对.NET Framework技术和轻量级数据库有良好的支持,并用于t-SQL、使用SSM管理数据库、使用Linq to SQL或Entity Framework等技术,则应使用SQL CE。如果您想要MS不太支持的DB,您需要找到管理和使用这些技术的工具,然后使用SQLite。@JotaBe,我认为他无法在Unity3d运行的任何地方运行SQL CE……根据他的新编辑,他当然不能使用SQL CE,因为它不是托管代码,而是本机代码。在本例中,SQLite是一条出路。OP要求创建SQLite数据库,而不是MS SQL CE数据库。使用sqlite甚至可能是与其他程序互操作性的要求,或者是在OSX/Linux等上使用它时唯一可行的选择。问题的标题询问了创建“SQL数据库”的方法。完全通用的问题。OP建议使用SQLite作为解决方案,但是SQLServerCE是一个好的、轻量级的、易于使用的选项,直到他补充说他正在使用Monodevelop。所以,在他对问题进行编辑后,答案不再适用,但这个答案的内容仍然适用于标题,适用于原始问题,并且得到了很好的解释和有效的解决方案。无论如何,这是我的意见,你可以用你的反对票做任何你想做的事。