Sql server 将记录插入SQL Server数据库后刷新datagridview
我正在尝试在插入新记录后更新datagridview 以下按钮位于表单上,datagridview位于另一个表单上:Sql server 将记录插入SQL Server数据库后刷新datagridview,sql-server,vb.net,datagridview,Sql Server,Vb.net,Datagridview,我正在尝试在插入新记录后更新datagridview 以下按钮位于表单上,datagridview位于另一个表单上: Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Try Dim dt As New DataTable Using DBCon As New SqlConnection("Server=192.168.1.4,1433;Da
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
Dim dt As New DataTable
Using DBCon As New SqlConnection("Server=192.168.1.4,1433;Database=example;User=test;Pwd=test;"),
DBCmd As New SqlCommand("INSERT INTO Jobs (Zone,Equipement,Description)
VALUES ( '" & TextEdit1.Text & "','" & TextEdit2.Text & "','" & TextEdit3.Text & "') ", DBCon)
DBCon.Open()
dt.Load(DBCmd.ExecuteReader)
mainform.GridControl1.DataSource = dt
End Using
MsgBox.Show("Record Has been Added Successfully!!")
DialogResult = DialogResult.OK
Catch ex As Exception
MsgeBox.Show(ex.Message)
End Try
您需要编写以下代码。请您仔细阅读这篇文章,了解如何使用CRUD demo参数化您的查询
dt.Load(DBCmd.ExecuteReader)
mainform.GridControl1.DataSource = dt
mainform.GridControl1.Refresh()
请先参数化您的查询。“它很好用”不,它不是,它很容易注射。当有东西进入
”时,它肯定不会“正常”工作;删除表格作业--代码> <代码> Text Text 3.Text <代码>…请不要将您的凭据与其他任何地方共享。如果由于某种原因,您认为您的代码不安全,那么如果有人把亨利的东西放到设备文本框中,会发生什么情况。您的代码将失败。参数化sql不仅可以防止sql注入,还可以处理各种其他挑战。一旦你了解了这比任何奇怪的字符串操作都要容易。只需了解如何。显示第一次加载DataGridView的代码。您实际上只需要重新执行该代码。@christymallony在消息之后,您需要选择dt值的更新。您的datagridview是否第一次在datagridview上加载显示数据?当我转到datagridview表单时,我已经看到数据,当我打开插入表单并添加数据时,它不会刷新,也看不到新添加的数据row@christymallony插入记录后,需要将数据源重新分配给GridControl,然后调用刷新。您的代码只缺少您在问题中遇到的刷新。我在这里发布之前尝试过,这就是为什么您会看到DialogResult=DialogResult.OK,还因为我也在主窗体中刷新,但它不起作用