尝试运行Update Query不会更新数据集

时间:2014-12-15 01:17:37

标签: c# sql-update tableadapter sqldataadapter

所以我有一个数据库,我创建了一个数据集,我试图在它上面运行一个更新,我不能让它用结果更新数据集(以及随后的数据库)。我使用Visual Studio的查询构建器构建了查询,当我在那里运行它时,它以应有的方式更改数据。当我运行代码时,我放入一个MessageBox来显示查询更改的行数,并且它应该返回1。我不知道为什么它不会承诺'承诺'更新,我确定我错过了一些非常简单的事情 这是Query I设置(名为" UpdateQuery")

UPDATE Bug_Master
SET Name = @Name, Test_App = @Test_App, Bug_Type = @Bug_Type, Bug_Active = @Bug_Active, Bug_Description = @Bug_Description, Bug_Keywords = @Bug_Keywords
WHERE (Id = @Original_Id);  

在我有表格的加载事件中

this.bug_MasterTableAdapter.Fill(this.bugManagerDataSet.Bug_Master);

这就是我调用查询并尝试更新的地方(我知道我应该使用'使用'但是在我开始工作之后我会对代码进行更新,因此请原谅不高雅)

            SqlConnection connection = new SqlConnection(strSQLConnectionString);
            connection.Open();
            int iResult = bug_MasterTableAdapter.UpdateQuery("Error One 1", "PassVault", "Runtime", "True", "Description Test", "Keywords Test", 1);
            MessageBox.Show(iResult.ToString());
            bug_MasterTableAdapter.Update(bugManagerDataSet.Bug_Master);
            connection.Close();

正如我上面提到的,MessageBox显示了' 1'。是否有一个关键的步骤,我不知道如何做到这一点?自从我搞砸SQL以来已经有很长一段时间了,所以我不得不笨拙地回到它身上,毫无疑问我错过了一些东西。 提前谢谢。
埃里克

1 个答案:

答案 0 :(得分:0)

找到解决方案。事实证明,数据库文件中的“复制到输出目录”属性设置为“始终复制”。因此,当我运行该程序时,它会在我查看app文件夹中的那个时对\ bin \ debug文件夹中的数据库进行更改。然后,当我重新启动程序以检查其中的值时,它将使用项目中未更改的版本覆盖\ bin \ debug中已更改的数据库版本。
因此,结果是对于其他遇到类似问题的人来说,将数据库中的“复制到输出目录”选项设置为“如果更新则复制”。 感谢所有看过的人。

埃里克