Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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# 连接到本地SQL Server CE数据库问题?_C#_Sql Server Ce - Fatal编程技术网

C# 连接到本地SQL Server CE数据库问题?

C# 连接到本地SQL Server CE数据库问题?,c#,sql-server-ce,C#,Sql Server Ce,我的app.config文件中有一个连接字符串 <connectionStrings> <add name="ConnString" connectionString="Data Source=|DataDirectory|\STOCK.sdf; Persist Security Info=False;" providerName="Microsoft.SqlServerCe.Client.3.5"/> </conne

我的
app.config
文件中有一个连接字符串

<connectionStrings>
    <add name="ConnString" 
         connectionString="Data Source=|DataDirectory|\STOCK.sdf; Persist Security Info=False;" 
         providerName="Microsoft.SqlServerCe.Client.3.5"/>
</connectionStrings>

但我有以下错误:在访问它时:


注意:之前我在保存数据时遇到问题,我将
.sdf
属性更改为“不复制”,之后发生此错误。

将文件输出更改为“不复制”后您的
STOCK.sdf
文件将不会复制到
\bin\Debug
目录,最后程序将找不到该文件

如果选择“始终复制”,则在启动调试时,DB文件将始终被覆盖。这就是为什么您可能会遇到“保存问题”-您只是在再次启动调试时获取新的新DB副本


选择“如果较新,则复制”时,您将能够很好地调试…,直到您对原始文件进行更改(添加表格、记录等)(您可能可以在Visual Studio中看到)
STOCK.sdf
文件。

将文件输出更改为“请勿复制”后您的
STOCK.sdf
文件将不会复制到
\bin\Debug
目录,最后程序将找不到该文件

如果选择“始终复制”,则在启动调试时,DB文件将始终被覆盖。这就是为什么您可能会遇到“保存问题”-您只是在再次启动调试时获取新的新DB副本


选择“如果更新,则复制”时,您将能够很好地调试…,直到您对原始文件进行更改(添加表、记录等)(您可能可以在Visual Studio中看到)
STOCK.sdf
文件。

您应该使用Visual Studio中的服务器资源管理器获取连接字符串。 请参阅:


希望有此帮助。

您应该使用Visual Studio中的服务器资源管理器获取连接字符串。 请参阅:



希望有帮助。

它指向正确的位置吗?现在检查我解决了这个问题,只是我将stock.sdf文件移到了Bin/Debu文件夹中。听上去,您告诉visual studio在编译时不要将数据库文件复制到调试文件夹中。这意味着上面的路径可能不包含您的股票数据库。编辑后,我认为问题应该是,为什么在将“复制到输出”文件夹更改为“不复制”后找不到该文件,因为更改此标志显然会导致错误。它是否指向正确的位置?现在检查我解决了这个问题,只是我将stock.sdf文件移到了Bin/Debu文件夹中。听上去,您告诉visual studio在编译时不要将数据库文件复制到调试文件夹中。这意味着上面的路径可能不包含您的股票数据库。编辑后,我认为问题应该是为什么在将“复制到输出”文件夹更改为“不复制”后找不到该文件,因为更改此标志显然会导致错误。您是对的,早些时候,我通过将STOCK.sdf移动到Bin/Debug文件夹解决了这个问题。现在,我看到保存的数据发生了更改。所以,将其复制到调试文件夹是正确的方法吗?是的。但除非你改变数据库结构。如果您有稳定的模式,您可以手动复制数据库,这样就可以了。但我会使用copy if更新,同时仍然对数据库进行更改。请不要忘记-当您更改DB时,您的程序将使用新的空数据库。您是正确的,早期我已通过将STOCK.sdf移动到Bin/Debug文件夹解决了问题。现在我已看到保存的数据更改。所以,将其复制到调试文件夹是正确的方法吗?是的。但除非你改变数据库结构。如果您有稳定的模式,您可以手动复制数据库,这样就可以了。但我会使用copy if更新,同时仍然对数据库进行更改。请不要忘记-当您更改DB时,您的程序将使用新的空数据库。我猜连接字符串数据源将具有指向
项目路径\DB.sdf
的路径。如果是这样的话,请注意:1。在调试期间,您的程序将向原始数据库插入测试记录。2.不要忘了在部署后更改路径。谢谢@Renuiz,您的建议非常有用,值得推荐。我想那里的连接字符串数据源将具有指向
项目路径\DB.sdf
的路径。如果是这样的话,请注意:1。在调试期间,您的程序将向原始数据库插入测试记录。2.不要忘记在部署后更改路径。谢谢@Renuiz,您的建议非常有用,值得推荐。