在一个项目中,我有一个本地数据库,(我正在使用数据网格查看数据),但问题是当我使用插入查询插入数据库时,插入不持久,即当我重新运行时应用程序,数据库未更改,更改未反射(reflect)在数据库 View 中(在 Visual Studio 中查看表数据)。
插入查询是:
string dbCon = new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + "\\MyDatabase.sdf";
SqlCeConnection dbconnection = new SqlCeConnection("datasource=" + dbCon);
dbconnection.Open();
String Insert = "insert into MainTable(LineID,Date,Connection_Type) Values('5','5/8/2012','commercial')";
SqlCeCommand cmd = new SqlCeCommand(Insert, dbconnection);
//// Execute the command
cmd.ExecuteNonQuery();
dbconnection.Close();
现在,当此代码运行时,数据网格会更新,但更改不是永久性的。我做错了什么? 我正在使用 Visual Studio 2010 Ultimate 和 Windows 7
最佳答案
您的应用程序在哪个文件夹中运行?如果它在 Program Files 树中,您可能没有对 sdf 文件的写入权限(尤其是在 Windows 7 上,除非您已关闭 UAC 或在执行前提升您的应用程序)。
即使这不是您的短期问题,我也建议您为 sdf 文件找到一个不同的位置,例如 AppData 中的一个。位置。期望能够写入您的安装位置并不能保证,这取决于您的应用程序的部署方式和位置。
关于c# - 无法将数据插入 WPF 中的本地数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10498919/