2013-03-19 175 views
0

我在设置SDF数据库的路径时遇到了一些问题。WinCE:无法将数据插入到sdf数据库中

我原来的连接

<add name="Model1Container" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlServerCe.4.0;provider connection string=&quot;data source=|DataDirectory|\Database1.sdf&quot;" providerName="System.Data.EntityClient" /></connectionStrings> 

然后我试图使用ConfigurationManager中获得的数据库连接字符串,但它产生的,而不是使用连接字符串我有一个错误(元数据不支持)

之后,试了好几种其他的方法,如:

string StartupPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase); 
     string datalogicFilePath = Path.Combine(StartupPath, "Database1.sdf"); 
     string connectionString = string.Format("DataSource={0}", datalogicFilePath); 

这一次将抛出URI格式异常

@"Data Source = |DataDirectory|\Database1.sdf" 

这个能够为ExecuteNonQuery返回1,但是我看不到它自己的任何变化。

然后我意识到它可能是复制到输出目录属性。我试过“不要复制”,并且在bin \ database1.sdf找不到的地方产生了错误信息。我已将它重新设置为“复制,如果更新”。

但是,当我使用完整路径数据库C:..................... \ Project \ database1.sdf时,它能够更新数据库。有没有任何可能的方式来做到这一点,而不是提供一个完整的路径?

回答

0

我得到了同样的问题,终于解决了这个问题, 其实它保存数据,但不是在它。自卫队显示了服务器资源管理器(这是在应用程序通常的根文件夹),但在debug文件夹 的。自卫队同样当你发布它所发布的应用程序和通常插入数据的根目录.sdf。希望我不会混淆你,它帮助你。 -Masology

0

尝试使用您的本地路径 数据源= C:\用户\ ABC \文档\ Visual Studio 2010的\项目\ ABC \ ABC \ Database1.sdf;密码= QWER 234;坚持安全信息=真“