mysql - 使用 vb.net 插入新的 SQL 数据后如何刷新我的 datagridview
问题描述
为了详细说明我的项目,我有 4 种形式,第一种是主要形式,我使用面板从其他 3 种形式切换,虽然数据的插入正在工作,但我希望在从另一个插入后看到表中更新的 sql 列表单但是当我尝试刷新数据网格时它不起作用我必须关闭程序并重新启动只是为了在数据网格视图中加载新数据。
我试过了:
DataGridView1.Refresh();
但这对load_table()
我不起作用。
这是在我的数据库中显示表的代码(第二种形式):
Imports MySql.Data.MySqlClient
Public Class search
Dim cn As New MySqlConnection
Dim COMMAND As MySqlCommand
Public Sub DataGridView1_ParentChanged(sender As Object, e As EventArgs) Handles DataGridView1.ParentChanged
cn.ConnectionString = "server=localhost; userid=root; password=4102123; database=pis"
Dim SDA As New MySqlDataAdapter
Dim dbDataSet As New DataTable
Dim bSource As New BindingSource
Try
cn.Open()
Dim Query As String
Query = "select * from pis.patient_info"
COMMAND = New MySqlCommand(Query, cn)
SDA.SelectCommand = COMMAND
SDA.Fill(dbDataSet)
bSource.DataSource = dbDataSet
DataGridView1.DataSource = bSource
SDA.Update(dbDataSet)
cn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
这是主要代码(第一种形式):
Imports MySql.Data.MySqlClient
Public Class Form1
Dim cn As New MySqlConnection
Dim COMMAND As MySqlCommand
Private Sub OvalShape1_Click(sender As Object, e As EventArgs)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
switchpanel(search)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
switchpanel(add)
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
switchpanel(del)
End Sub
Sub switchpanel(ByVal panel As Form)
Panel1.Controls.Clear()
panel.TopLevel = False
Panel1.Controls.Add(panel)
panel.Show()
End Sub
End Class
我用于插入数据的代码(第三种形式):
Imports MySql.Data.MySqlClient
Public Class add
Dim cn As New MySqlConnection
Dim COMMAND As MySqlCommand
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
cn.ConnectionString = "server=localhost; userid=root; password=4102123; database=pis;"
Dim READER As MySqlDataReader
Try
cn.Open()
Dim Query As String
Query = "insert into pis.patient_info(Name) values('" & TextBox1.Text & "')"
COMMAND = New MySqlCommand(Query, cn)
READER = COMMAND.ExecuteReader
cn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
是否可以在不同的表单上调用另一个表单或类?
例如:从上面的主窗体中,我将调用第 2 窗体再次执行代码,因为一旦我从主窗体单击按钮,程序代码仅执行一次,当我将窗体切换到第 3 和第 1 窗体时,然后返回第二种形式的 datagridview 将不再刷新,而是仅起作用的代码是switchpanel(search)
并显示未更新的 datagridview。
解决方案
推荐阅读
- javascript - 是否可以在警报框中获取网站设置的 http 标头?
- apache-kafka - 具有多个分区的 kafka 主题和具有多个队列侦听器的 ActiveMQ 有什么区别
- autodesk-forge - 加载多个模型时如何在查看器中通过 dbid 选择?
- vba - 从工作表函数传递范围时获取单元格内部颜色失败
- javascript - 关于匿名函数的概念和javascript中的调用
- node.js - docker 容器未启动 - 产生 Java enoent 错误
- javascript - Firebase 帐户创建尝试使用变量设置其他信息,然后获取该信息
- hadoop - 将任意本地 jar 发送到 YARN 容器类路径
- ios - 从当前视图而不是 RootView 导航到 ViewModel
- python - 2 通过 python 的命令行和 "if __name__ == "__main__":" 输入