gpt4 book ai didi

c# - 在 visual Studio 2012 .SDF 文件中不替换(提交)我对原始文件的更改

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:10 25 4
gpt4 key购买 nike

我在插入 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/Debug 子文件夹中创建原始解决方案项目的副本(在每次构建时)。在执行您的代码时,原始文件永远不会被触及,您的更改可能会在您下次构建应用程序时被丢弃。

因此,根据您的用例,您要么必须在 bin/Debug 中打开数据库以查看数据,要么更改您的连接字符串以使用位于项目/解决方案根目录中的字符串。

关于c# - 在 visual Studio 2012 .SDF 文件中不替换(提交)我对原始文件的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15460492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com