WinCE:无法向sdf数据库插入数据
本文关键字:数据库 插入 数据 sdf WinCE | 更新日期: 2023-09-27 18:04:38
我在设置SDF数据库的路径时遇到了一些问题。
我的原始连接
<add name="Model1Container" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="data source=|DataDirectory|'Database1.sdf"" providerName="System.Data.EntityClient" /></connectionStrings>
然后我尝试使用ConfigurationManager获得db连接字符串,但它产生一个错误(元数据不支持)
之后,而不是使用连接字符串,我已经尝试了其他几种方法,如:
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"
这一个能够返回1为ExecuteNonQuery,但我不能看到db它本身的任何变化。
然后我意识到它可能是复制到输出目录属性。我尝试了"不复制",它产生了错误信息,其中bin'database1。没有找到SDF。我把它设置回"Copy if newer"
但是当我使用完整的路径到数据库C:.....................'Project'database1。Sdf,它能够更新数据库。除了提供完整的路径之外,是否还有其他可行的方法?
我遇到了同样的问题,最后解决了。实际上,它保存的数据,但不是在。sdf它显示在服务器资源管理器(这是在应用程序的根文件夹通常),但在。sdf在调试文件夹此外,当您发布应用程序时,它会使用根文件.sdf发布,该文件通常会插入数据。希望我没有把你们弄糊涂,对你们有所帮助。-Masology
尝试使用本地路径数据源=C:'Users'ABC'Documents'Visual Studio 2010'Projects'ABC'ABC'Database1.sdf;Password=qwer!234;Persist Security Info=True"