1

嘿伙计们,我想在 vb.net 中将项目添加到我的 ComboBox 中。但我需要的数据在我的数据库中。

我这里有一个 SQL 查询语句:

"SELECT DISTINCT(Tags) from Legal_Records"

我想要做的是将此 SQL 查询的结果添加到我的 ComboBox 中。

任何人都可以帮助我,让它变得简单 tnx 伙计们!:)

4

3 回答 3

1

你可以让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
于 2013-08-28T03:49:47.193 回答
0

这是我的样本

    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(
于 2013-11-12T16:52:46.637 回答
0

您可能会从该查询返回多个结果,但这里是如何去做您想做的事情:

  1. 如果您还没有连接,则需要某种连接:

    Dim conn As SqlConnection = New SqlConnection('连接字符串)    
    conn.Open()
  2. 您已完成命令,现在只需执行以下操作:

    暗命令 As SqlCommand = New SqlCommand("SELECT DISTINCT(Tags) from Legal_Records", conn)
  3. 现在,您需要一个阅读器,如下所示:

    昏暗阅读器 As SqlDataReader = command.ExecuteReader()                   
    '您的查询将返回一个对象数组,除非您知道只有一个值要返回,如果是这种情况,您可以使用 command.ExecuteScalar(),它只返回第一行的第一列
    
    而 reader.Read()  
    ComboBox1.Items.Add(reader.GetString(0)) '你也可以做GetInt32、GetDouble等。每次调用GetString或任何你选择的,它都会移动到对象数组中的下一个项目`

就是这样,希望对您有所帮助,不要忘记关闭并处置您的所有资源。

于 2013-03-27T03:52:11.270 回答