作者:那一年2502931247 | 来源:互联网 | 2023-05-18 03:40
我的代码如下,怎么解决这个问题啊,想了很久。button1是查询表名,button2是查询选中的表内容PrivateSubButton1_Click(ByValsenderAsSyst
我的代码如下,怎么解决这个问题啊,想了很久。button1是查询表名,button2是查询选中的表内容
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strConnection As String = "Server=DELL-PC\SQLEXPRESS;database=renshi;uid=ouqing;pwd=123;"
Dim sqlConnection1 As New SqlConnection(strConnection)
Dim dataAdapter As New SqlDataAdapter
Dim dst As New DataSet
Dim dt As New DataTable
sqlConnection1.Open() '打开数据库
If TextBox1.Text = "" Then
Dim sql As String = "select name From sys.tables"
Dim cmd As SqlCommand = New SqlCommand(sql, sqlConnection1)
dataAdapter.SelectCommand = cmd
dataAdapter.Fill(dst, "name")
dt = dst.Tables("name")
sqlConnection1.Close() '关闭数据库
DataGridView1.AutoGenerateColumns = True '自动创建列
DataGridView1.DataSource = dt
Else
Dim sql As String = "select name From sys.tables where name like'" & TextBox1.Text & "'"
Dim cmd As SqlCommand = New SqlCommand(sql, sqlConnection1)
dataAdapter.SelectCommand = cmd
dataAdapter.Fill(dst, "name")
dt = dst.Tables("name")
sqlConnection1.Close() '关闭数据库
DataGridView1.AutoGenerateColumns = True '自动创建列
DataGridView1.DataSource = dt
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim SelRowColl As DataGridViewSelectedRowCollection
Dim dgvRow As DataRow
Dim t As New Class1
Dim i As Integer
SelRowColl = DataGridView1.SelectedRows
For i = 0 To SelRowColl.Count - 1
dgvRow = DataGridView1.SelectedCells.Item(i).Value
'可得到选中的每一行
t.setuse(dgvRow)
Next
Form20.Show()
End Sub
5 个解决方案
vb.net连接sql数据库查询表格名显示到 DataGridView中,如何点击选择一个表名查询整个表的内容
datagridview 里有cell的选中点击事件,点击该列格子时触发这个事件,事件里实现单击格子的内容提取,也就是你的表名,然后调用查询(表名知道了,查询这个你该会的),然后把结果放入新的datagridvew进行展示,就ok
感觉你该知道怎么办的啊,不知道datagridvew的触发事件?建议仔细研究下各事件,实现方法不只一种。
先取出数据库的表放在combox中,
Dim sql As String = "select name From “+combox.selectitem
取出表名,放入listbox中,
Public Function GetTableNameList() As List(Of String)
Dim list As New List(Of String)()
Dim Conn As New OleDbConnection(ConnStr)
Try
If Conn.State = ConnectionState.Closed Then
Conn.Open()
End If
Dim dt As DataTable = Conn.GetSchema("Tables")
For Each row As DataRow In dt.Rows
If row(3).ToString() = "TABLE" Then
list.Add(row(2).ToString())
End If
Next
Return list
Catch e As Exception
Throw e
Finally
If Conn.State = ConnectionState.Open Then
Conn.Close()
End If
Conn.Dispose()
End Try
End Function
‘选择一个表,再显示这表的内容,我用mdb来测试, sql类似
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button19.Click
Dim tablename As String = ListBox1.SelectedItem
Dim connstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=stu.mdb"
Dim sqltxt As String = "select * from [" + tablename + "] "
Dim conn As New OleDb.OleDbConnection(connstr)
Dim da As New OleDb.OleDbDataAdapter()
da.SelectCommand = New OleDbCommand(sqltxt, conn)
Dim dt As New DataTable
Try
conn.Open() '打开连接
da.Fill(dt)
DataGridView1.DataSource = dt
Catch ex As Exception
MsgBox(ex.Message)
Finally
End Try
End Sub