当前位置: 首页 > 面试题库 >

VB | 将SQL查询加载到组合框

颜祖鹤
2023-03-14
问题内容

我试图用SQL结果填充组合框,我认为我的问题是处理数据表形式的数据。

    Dim sql As String
    Dim sqlquery As String
    Dim ConnectionString As String
    ConnectionString = "Data Source=(local);Initial Catalog=Control;Persist Security Info=True;User ID=user;Password=pass"
    sqlquery = "Select dbName from Databases"

    Using connection As SqlConnection = New SqlConnection(ConnectionString)
        connection.Open()
        Using conn As SqlCommand = New SqlCommand(sqlquery, conn)
            Dim rs As SqlDataReader = comm.ExecuteReader
            Dim dt As DataTable = New DataTable
            dt.Load(cmboxDatabaseName)
        End Using 'comm
    End Using 'conn

当我运行程序时,我只是盯着一个悲伤的空组合框。


问题答案:

几乎正确,但是您需要使用DataReader加载数据表。
然后将数据表关联到组合的数据源

Using connection As SqlConnection = New SqlConnection(ConnectionString)
    connection.Open()
    Using comm As SqlCommand = New SqlCommand(sqlquery, connection)
            Dim rs As SqlDataReader = comm.ExecuteReader
            Dim dt As DataTable = New DataTable
            dt.Load(rs)
            ' as an example set the ValueMember and DisplayMember'
            ' to two columns of the returned table'
            cmboxDatabaseName.ValueMember = "IDCustomer"
            cmboxDatabaseName.DisplayMember = "Name"
            cmboxDatabaseName.DataSource = dt
    End Using 'comm
End Using 'conn

另外,您可以将comboboxValueMember属性设置为将用作将来处理键DisplayMember的列的名称,并将属性设置为要显示为文本以供用户选择的列名称



 类似资料:
  • 问题内容: 我正在用SSRS编写一份报告。该数据集填充有MS SQL Server的SQL查询。它使用Union All查询几个相似的表。问题是有一些信息丢失。不同的表适用于不同的工作站点,但是这些表中的任何列都没有站点名称。标识站点的唯一方法是通过表名。在“全部合并”的结果的合并列中,无法分辨出哪些行来自哪个站点。 有没有一种方法可以更改我的查询以在结果中添加一列,该列将具有与每一行相关联的工作

  • 问题内容: 我正在尝试对与php数组中的值匹配的行进行sql查询。 本质上我有一个像 并希望执行单个SQL查询以获取与该数组匹配的行 是否有捷径可寻?还是我必须手动构造查询字符串? 问题答案: 使用爆破功能,即

  • 我正在查询Sql Server并返回一个List-我想使用此List作为我的组合框的源。下面是我正在使用的代码,它运行时没有错误,但我的组合框始终为空并且从不填充。这里有什么不正确的? 主要的Java语言 样品fxml

  • 如何用UNION操作符将多条SELECT语句组合成一个查询 组合查询 并(union) 执行多个查询并将结果作为单个查询结果返回。 一般需要使用组合查询的情况 单个查询中从不同的表类似返回结果数据 单个表执行多个查询,按单个查询返回数据 创建组合查询 检索 IL,IN,MI几个洲的客户报表。 mysql> SELECT cust_name, cust_contact, cust_email

  • 问题内容: 我正在使用SQL Server,并且我有两个表,我想合并为一个查询,用它来填充gridview。 表1 dbo.Work UID(PK,int) Tech_Ticket(int) RMA_Ticket(int) 区域(nchar10) 已完成(nchar10) FA(nchar10) 代理(nvarchar50) 跟踪(nvarchar50) Date_Added(date) Date

  • 我有一个access数据库,我正在尝试将记录插入。这似乎很容易做到,而且在大多数情况下,我所有的代码都是有意义的。我可以在VS 15中创建查询,并将它们插入到我的数据库中,但由于某些原因,我插入记录的功能不起作用。有人能看出我做错了什么吗? 该函数在cmd上给我一个未处理的异常。ExecuteNonQuery 这是堆栈跟踪 [OleDbException(0x80040e14):INSERT IN