![](/img/trans.png)
[英]VB.net DataGridView not display the Data from MySql Data base
[英]VB.net Loading data to datagridview from Mysql
我有一个datagridview,已经在其中放置了3列(通过设计),但是当我运行此代码时,它又添加了3列,并将数据加载到那些新创建的列中。 如何仅从我创建的列中加载数据?
编辑:第一和第二列是文本框,第三是组合框。
代码的形式为:
Dim sqlDataAdapter As New MySqlDataAdapter
Dim dt As New DataTable
Dim bSource As New BindingSource
Try
sqlconn.Open()
Dim query As String
query = "SELECT * FROM tbl_subject ORDER BY yearlevel, code"
sqlcommand = New MySqlCommand(query, sqlconn)
sqlDataAdapter.SelectCommand = sqlcommand
sqlDataAdapter.Fill(dt)
bSource.DataSource = dt
datagrid_Subject.DataSource = bSource
sqlDataAdapter.Update(dt)
sqlconn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
sqlconn.Dispose()
End Try
DataGridView
列具有属性DataPropertyName
,将其值设置为SQL查询中的列名。
这将在预定义的列中显示数据
就像@Icepickle在评论集中所说的那样datagrid_Subject.AutoGenerateColumns = False
这将防止datagridview为sql查询的SELECT
语句中使用的所有字段生成列
只需转到工具箱并拖放datagridview,在属性上使用上面的代码将其命名为dgvSubject示例,它将看起来像这样;
将sqlDataAdapter作为新的MySqlDataAdapter将Dim dt作为新的DataTable将Dim bSource作为新的BindingSource
Try
sqlconn.Open()
Dim query As String
query = "SELECT * FROM tbl_subject ORDER BY yearlevel, code"
sqlcommand = New MySqlCommand(query, sqlconn)
sqlDataAdapter.SelectCommand = sqlcommand
sqlDataAdapter.Fill(dt)
bSource.DataSource = dt
dgvSubject.DataSource = bSource
sqlDataAdapter.Update(dt)
sqlconn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
sqlconn.Dispose()
End Try
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.