C# 无法将数据插入WPF中的本地数据库
在项目中,我有一个本地数据库(我使用datagrid来查看数据),但问题是,当我使用插入查询插入数据库时,插入不会持续,即当我重新运行应用程序时,数据库不会更改,更改也不会反映在数据库视图中(Visual Studio中的查看表数据) 插入查询是:C# 无法将数据插入WPF中的本地数据库,c#,wpf,.net-4.0,database-connection,C#,Wpf,.net 4.0,Database Connection,在项目中,我有一个本地数据库(我使用datagrid来查看数据),但问题是,当我使用插入查询插入数据库时,插入不会持续,即当我重新运行应用程序时,数据库不会更改,更改也不会反映在数据库视图中(Visual Studio中的查看表数据) 插入查询是: string dbCon = new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + "\\MyDa
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();
现在,当这段代码运行时,datagrid会更新,但更改不是永久性的。我做错了什么?
我正在使用Visual Studio 2010 Ultimate和Windows 7,您的应用程序运行在哪个文件夹中?如果它位于“程序文件”树中,则您可能没有sdf文件的写入权限(尤其是在Windows 7上,除非您在执行之前已关闭或提升了应用) 即使这不是您的短期问题,我也建议为sdf文件找一个不同的位置,例如其中一个位置。期望能够写入您的安装位置并不是保证,这取决于应用程序的部署方式和位置
Path.GetDirectoryName(System.Reflection.Assembly.getExecutionGassembly().Location)+“\\MyDatabase.sdf”
是应用程序文件夹的路径。根据安装选项的不同,您的文件可能不会安装在那里。如前所述,使用连接字符串“DataSource=|DataDirectory | \\MyDatabase.sdf;…”
它在桌面上,如何确保我有必要的权限?