我在插入 SQL CE 数据库时遇到问题。
我写了一些代码,然后当我需要数据库时,我右键单击投影,添加新项目,本地数据库,之后它让我选择一个数据模型 - 我选择了“数据集”。
这已在我左侧的服务器资源管理器下为我创建了一个数据库,并且在我右侧的解决方案资源管理器中可以看到相同的 .sdf 文件。
我启动我的应用程序,运行插入查询,它给我输出插入成功,我看到 root/bin/Debug/db.sdf 下的 .sdf 文件刚刚被修改,我关闭我的应用程序,但我的原始数据库位于在/root/db.sdf。如果我从服务器资源管理器查询数据库,我看不到任何更改/插入的行。这是我使用的代码:
首先,我尝试了服务器数据源选项,所有未注释的选项都不适合我。
//String connectString = @"Data Source=" + '"' + @"C:\Users\Alex\Documents\Visual Studio 2012\Projects\my\my\myDB.sdf;" + '"';
//String connectString = "Data Source:=" + '"' + @"C:\Users\Alex\Documents\Visual Studio 2012\Projects\my\my\my.sdf" + '"';
//String connectString = "Data Source:=C:\\Users\\Alex\\Documents\\Visual Studio 2012\\Projects\\my\\my\\my.sdf";
//String connectString =@"Data Source:=C:\Users\Alex\Documents\Visual Studio 2012\Projects\my\my\myDB.sdf";
String connectString = "Data Source=myDB.sdf";
using (SqlCeConnection connection = new SqlCeConnection(connectString))
{
connection.Open();
String query = "Insert into items (id, title) VALUES ('" + ID + "', '" + title + "');
SqlCeCommand cmd = new SqlCeCommand(string.Format(query), connection);
int result = cmd.ExecuteNonQuery();
}
关闭应用程序后,我右键单击项目表,然后“显示表数据”-无插入。我究竟做错了什么?
Visual Studio 可能正在将原始解决方案项目的副本创建到bin/调试子文件夹(在每个版本上)。执行代码时不会触及原始文件,并且您的更改可能会在下次构建应用程序时被丢弃。
因此,根据您的用例,您要么必须在 bin/Debug 中打开数据库才能查看数据,要么更改连接字符串以使用位于项目/解决方案根目录中的字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)