在visual Studio 2012 . sdf文件没有替换(提交)我对原始文件的更改
本文关键字:文件 原始 提交 替换 2012 Studio visual sdf | 更新日期: 2023-09-27 18:04:13
我有一个问题插入到我的SQL CE数据库。
我写了一些代码,然后当我需要一个数据库时,我右键单击投影,添加新项目,本地数据库,之后它给我选择一个数据模型-我选择了'dataset'。
这为我创建了一个DB,在我左边的服务器资源管理器下,在我右边的解决方案资源管理器中可以看到相同的。sdf文件。
我启动我的应用程序,我运行插入查询,它给我输出插入成功,我看到根/bin/Debug/db下的。sdf文件。我关闭了我的应用程序,但是我原来的数据库位于/root/db.sdf如果我从服务器资源管理器查询DB,我看不到任何更改/插入的行。下面是我使用的代码:
首先我尝试了服务器数据源选项,所有未注释的选项都不适合我。
//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();
}
关闭应用程序后,我右键单击items表,并'显示表数据' -没有插入。我做错了什么?
Visual studio可能会在bin/Debug子文件夹中创建原始解决方案项的副本(在每个构建中)。在执行代码时不会触及原始文件,并且下次构建应用程序时可能会丢弃您的更改。
因此,根据您的用例,您要么必须在bin/Debug中打开数据库以查看数据,要么更改连接字符串以使用位于项目/解决方案根目录中的连接字符串。
您在bin/debug文件夹中有一个数据库副本,其中包含正确的数据-在连接字符串中输入数据库文件的完整路径以避免混淆