我正在进行计算的A Level(我在编程方面非常糟糕,这就是为什么我在这里)并且我按照教程获取datagridview来加载我已链接到项目的数据库中的表而没有任何内容在调试中出现,仍然是灰色表。
这是我的代码:
Imports System.Data.OleDb
Public Class Cards
Dim con As New OleDbConnection
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= |DataDirectory|\Cards.accdb"
con.Open()
datagridShow()
End Sub
Private Sub datagridShow()
Dim ds As New DataSet
Dim dt As New DataTable
ds.Tables.Add(dt)
Dim da As New OleDbDataAdapter
da = New OleDbDataAdapter("SELECT * FROM cards", con)
da.Fill(dt)
DataGridView1.DataSource = dt.DefaultView
con.Close()
End Sub
End Class
答案 0 :(得分:-2)
'如果网格中没有数据没有单元格可以点击,那么你的代码不会触发DataGridView1.CellContentClick所以你永远不会点击你的DataGridView1_CellContentClick方法
'我刚刚运行了你的代码并且运行正常。我确实把我的连接字符串放入了,所以请检查你的连接'字符串。
'我不确定您为什么要在单元格联系人点击上加载网格。
'尝试此操作并在页面加载或按钮单击事件上调用loadData,这应该适合您。
Private Sub loadData()
con.ConnectionString = "Your Connection String"
con.Open()
datagridShow()
End Sub
Private Sub datagridShow()
Dim ds As New DataSet
Dim dt As New DataTable
ds.Tables.Add(dt)
Dim da As New OleDbDataAdapter
da = New OleDbDataAdapter("SELECT * FROM cards", con)
da.Fill(dt)
DataGridView1.DataSource = dt.DefaultView
con.Close()
End Sub