嘿伙计们,我想在 vb.net 中将项目添加到我的 ComboBox 中。但我需要的数据在我的数据库中。
我这里有一个 SQL 查询语句:
"SELECT DISTINCT(Tags) from Legal_Records"
我想要做的是将此 SQL 查询的结果添加到我的 ComboBox 中。
任何人都可以帮助我,让它变得简单 tnx 伙计们!:)
你可以让datagridview看起来像一个组合框..
删除行标题和列标题..您可以通过添加“向下箭头”按钮来复制下拉操作..在向下箭头按钮单击时添加一个事件..它应该显示datagridview ..如果您单击datagridview上的单元格。 .您应该复制所选单元格的内容并将其复制到您的文本框,然后隐藏datagridview ..
它只需要 3 个控件*,您可以轻松地管理您的数据源(使用 datagridview)..
* (1)textbox and (2)arrow button down - to make it look like a combobox.. last is the (3)datagridview
这是我的样本
cbsection.Items.Clear()
strsql = "select DISTINCT(section) from sassign where grade like @field1"
sqlcmd = New SqlClient.SqlCommand(strsql, sqlconn)
With sqlcmd
.Parameters.AddWithValue("@field1", cbgrade.Text)
End With
sqldr = sqlcmd.ExecuteReader
While (sqldr.Read())
With cbsection.Items.Add(sqldr("section"))
End With
End While
sqlcmd.Dispose()
sqldr.Close(
您可能会从该查询返回多个结果,但这里是如何去做您想做的事情:
如果您还没有连接,则需要某种连接:
Dim conn As SqlConnection = New SqlConnection('连接字符串) conn.Open()
您已完成命令,现在只需执行以下操作:
暗命令 As SqlCommand = New SqlCommand("SELECT DISTINCT(Tags) from Legal_Records", conn)
现在,您需要一个阅读器,如下所示:
昏暗阅读器 As SqlDataReader = command.ExecuteReader() '您的查询将返回一个对象数组,除非您知道只有一个值要返回,如果是这种情况,您可以使用 command.ExecuteScalar(),它只返回第一行的第一列 而 reader.Read() ComboBox1.Items.Add(reader.GetString(0)) '你也可以做GetInt32、GetDouble等。每次调用GetString或任何你选择的,它都会移动到对象数组中的下一个项目`
就是这样,希望对您有所帮助,不要忘记关闭并处置您的所有资源。