【发布时间】:2022-01-02 12:54:11
【问题描述】:
我正在尝试将 SQL Server 表的读取与 2 列(nom_unité 和 cout_unité)同步。
第一列 (nom_unité) 将被填充到一个组合框中,我希望第二列 (cout_unité) 与第一个组合框同步到一个标签中(意思是,当我更改组合框值时,标签也应该更改参考到桌子上)。
我可以用 2 个组合框做到这一点:
Dim connection As New SqlConnection("Data Source=xxx")
Dim dt As New DataTable
Dim sqlquery As String
connection.Open()
sqlquery = "select * from liste_unités"
Dim SQL As New SqlDataAdapter(sqlquery, connection)
SQL.Fill(dt)
Dim cmd As New SqlCommand(sqlquery, connection)
ComboBoxC1L1.DataSource = dt
ComboBoxC1L1.DisplayMember = "nom_unité"
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "cout_unité"
但我不知道如何使用标签(而不是 ComboBox1)。
我相信我可以通过类似的方式实现它:
Dim sqlcmd As New SqlCommand("select * from liste_unités", connection)
Dim myreader As SqlDataReader
myreader = sqlcmd.ExecuteReader()
myreader.Read()
If myreader.HasRows Then
Label1.Text = myreader.Item("cout_unité").ToString
End If
但这只是读取第一行而不是在更改第一个组合框选定值时更改标签值。
如何做最简单最有效的方法?
谢谢你:)
【问题讨论】:
-
当组合框中的选定项发生更改时会触发一些事件。您需要响应这些事件并根据需要设置标签。并停止懒惰 - 为您的控件提供有用的名称。
-
好吧,我想感谢您的贡献。控件名称是一个示例...而且我知道 ComboBox 选定项事件,但我不知道其中放入了什么代码。这就是我在这里发帖的原因...
标签: sql-server database vb.net combobox label