【问题标题】:Attempting to run Update Query doesn't update dataset尝试运行更新查询不会更新数据集
【发布时间】:2014-12-15 01:17:36
【问题描述】:

所以我有一个数据库,我从中创建了一个数据集,我正在尝试对其运行更新,但我无法让它用结果更新数据集(以及随后的数据库)。我使用 Visual Studio 的查询生成器构建了查询,当我通过那里运行它时,它会以应有的方式更改数据。当我运行代码时,我放入 MessageBox 以显示查询更改的行数,并且它应该返回 1。我不知道为什么它不会“提交”更新,我敢肯定我错过了一些非常简单的东西。
这是我设置的查询(名为“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 以来已经有很长时间了,所以我不得不笨手笨脚地回到它,并且毫无疑问我错过了/搞砸了一些事情。 提前致谢。
埃里克

【问题讨论】:

    标签: c# sql-update tableadapter sqldataadapter


    【解决方案1】:

    找到了解决办法。原来数据库文件上的“复制到输出目录”属性设置为“始终复制”。因此,当我运行程序时,它会在我查看 app 文件夹中的数据库时更改 \bin\debug 文件夹中的数据库。然后,当我重新启动程序以检查其中的值时,它会用项目中未更改的版本覆盖 \bin\debug 中数据库的更改版本。
    因此,对于遇到类似情况的其他人来说,结果是将数据库上的“复制到输出目录”选项设置为“如果较新则复制”。
    感谢所有观看的人。

    埃里克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多