如何在VB.net中从combobox中的数据库中获取特定列的所有行?

如何在VB.net中从combobox中的数据库中获取特定列的所有行?,vb.net,visual-studio-2010,ms-access-2007,Vb.net,Visual Studio 2010,Ms Access 2007,在这里,我试图从组合框中的数据库中获取列。 下面的代码使组合框在组合框中具有System.Data.DataViewManagerListItemTypeDescriptor。 我的代码中缺少了什么 Imports System.Data Imports System.Data.OleDb Public Class Sales Private Const s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Use

在这里,我试图从组合框中的数据库中获取列。
下面的代码使组合框在组合框中具有
System.Data.DataViewManagerListItemTypeDescriptor

我的代码中缺少了什么

Imports System.Data
Imports System.Data.OleDb

Public Class Sales
    Private Const s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\HOME\Desktop\Project\company\company\login.mdb"
    Public conn As OleDbConnection
    Public adapt As OleDbDataAdapter
    Public ds As DataSet
    Public tables As DataTableCollection
    Public table As DataTable
    Public rows As DataRowCollection
    Public row As DataRow
    Public cols As DataColumnCollection
    Public col As DataColumn
    Public sql As String
    Public isql, usql, dsql As String
    Public icmd, ucmd, dcmd As OleDbCommand
    Public p As OleDbParameter

    Private Sub Sales_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'LoginDataSet1.Login' table. You can move, or remove it, as needed.
        Me.LoginTableAdapter.Fill(Me.LoginDataSet1.Login)
        Try
            sql = "select cust_ID from Customer"
            conn = New OleDbConnection(s)
            adapt = New OleDbDataAdapter(sql, conn)
            ds = New DataSet
            conn.Open()

            adapt.Fill(ds, "ABC")
            ComboBox1.DataSource = ds
            ComboBox1.DisplayMember = "cust_ID"
            ComboBox1.ValueMember = "cust_ID"


            conn.Close()

        Catch ex As Exception

        End Try
    End Sub
End Class

数据集包含数据表,因此您需要

Dim connStr = "Data Source=.\SQLEXPRESS;Initial Catalog=testing;Integrated Security=true;"
Dim sql = "SELECT str FROM testTable"
Dim da = New SqlDataAdapter(sql, connStr)
Dim ds = New DataSet
da.Fill(ds)
ComboBox1.DataSource = ds.Tables(0)
ComboBox1.DisplayMember = "str"
ComboBox1.ValueMember = "str"
但直接使用DataTable更简单:

Dim connStr = "Data Source=.\SQLEXPRESS;Initial Catalog=testing;Integrated Security=true;"
Dim sql = "SELECT str FROM testTable"
Dim da = New SqlDataAdapter(sql, connStr)
Dim dt = New DataTable
da.Fill(dt)
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "str"
ComboBox1.ValueMember = "str"

当然,您将使用与我使用的SqlWhatever命令等效的OLEDBWHATERE命令。

数据集包含数据表,因此您需要

Dim connStr = "Data Source=.\SQLEXPRESS;Initial Catalog=testing;Integrated Security=true;"
Dim sql = "SELECT str FROM testTable"
Dim da = New SqlDataAdapter(sql, connStr)
Dim ds = New DataSet
da.Fill(ds)
ComboBox1.DataSource = ds.Tables(0)
ComboBox1.DisplayMember = "str"
ComboBox1.ValueMember = "str"
但直接使用DataTable更简单:

Dim connStr = "Data Source=.\SQLEXPRESS;Initial Catalog=testing;Integrated Security=true;"
Dim sql = "SELECT str FROM testTable"
Dim da = New SqlDataAdapter(sql, connStr)
Dim dt = New DataTable
da.Fill(dt)
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "str"
ComboBox1.ValueMember = "str"

当然,您将使用OLEDBWHATERE等效于我使用的SQLWHERT命令。

谢谢您的帮助,先生。但我正在尝试从combobox中的数据库中获取列的所有行。你能帮我吗?@Manaswi如果你的意思是数据库列在组合框中:我会有一个有效的数据库名称列表来填充组合框。当用户选择了一个数据库名称时,检查该值是否在列表中(出于安全考虑),如果该值有效,则使用该值构造连接字符串。先生,我试图在组合框中填充一列。很简单,我的问题解决了。非常感谢您的帮助。谢谢您的帮助。但我正在尝试从combobox中的数据库中获取列的所有行。你能帮我吗?@Manaswi如果你的意思是数据库列在组合框中:我会有一个有效的数据库名称列表来填充组合框。当用户选择了一个数据库名称时,检查该值是否在列表中(出于安全考虑),如果该值有效,则使用该值构造连接字符串。先生,我试图在组合框中填充一列。很简单,我的问题解决了。非常感谢你的帮助。