【问题标题】:Update DGV after inserting a row插入行后更新 DGV
【发布时间】:2013-06-18 09:47:38
【问题描述】:

当使用以下代码选择一行时,我通过按一个按钮在数据库末尾插入一个选定的行:

Dim conn_veko As New SqlConnection("Data Source=Gxxx\SQLEXPRESS;Initial Catalog=xxx;  Integrated Security=TRUE")
Dim insert_cmd As SqlCommand = New SqlCommand("dbo.Insert", conn)
Dim i As Integer = DGV.CurrentRow.Index
conn.Open()
With BenutzerTabelle_SelectDataGridView.Rows(i)
insert_cmd.Parameters.AddWithValue("@V1", .Cells(0).Value)
insert_cmd.Parameters.AddWithValue("@V2", .Cells(1).Value)
End With
insert_cmd.ExecuteNonQuery()
conn.Close()

记录已插入数据库,但我必须重新启动程序才能在我的 dgv 中查看记录。 人们建议(在我的谷歌搜索中)尝试 dgv.refresh() 和 DataSet1.AcceptChanges() 但它没有帮助。我的 SQL-Server 上有以下 SP,可能会有所帮助,但我不知道如何使用它。

CREATE Procedure Tabupdate
@v1 date
@v2 int
as
Begion
Set NoCount on
UPDATE Table
SET
v1 = @v1,
v2 = @v2
where @v3 = 3
END

谁能帮我解决这个问题?

【问题讨论】:

  • 插入后尝试再次对网格进行数据绑定。
  • 我在这里遗漏了一些东西。您从网格中获取插入命令的值,但是,您说,您看不到这些值。那么你能解释一下你看不到的价值观是什么吗?
  • @Steve:我选择一行,单击一个按钮,应该会在网格底部的新行中看到我选择的数据。但我没有看到那里的数据。
  • @kostas ch.:我对这个真的很陌生。我通过拖放创建了所有内容。添加新元素,拖动数据适配器。使用向导等等。在这样的背景下,您的建议是否仍然可行,我只是想在开始研究之前知道,这是不可能的。
  • @v3 的参数在哪里?

标签: vb.net tsql stored-procedures


【解决方案1】:

您需要再次填充您的网格,但是您现在正在执行此操作。只需在插入后执行此操作,这将获取新数据。

【讨论】:

  • 谢谢,它正在工作! Me.TableAdapter.Fill(Me.DataSet1.Table)
  • 欢迎您,我只是没有您用来填充它的任何代码,否则我会把它记下来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 1970-01-01
相关资源
最近更新 更多