首页 > 解决方案 > 如何将 2 个 ComboBoxes 连接到不同的表?

问题描述

我正在尝试设置一个表单,其中有 2 个 ComboBoxes,每个 ComboBoxes 都附加到数据库中的不同表。
一旦用户在每个 ComboBox 中进行了选择,我想查询另一个表以列出所有符合条件的项目。
到目前为止,我已经让它与 1 个 ComboBox 一起工作,但第二个 ComboBox 没有连接到数据库。
我不确定如何将额外的 ComboBox 添加到代码中。目前该按钮仅显示来自 1 ComboBox 的输出,但我将更改它以将值保存在内存中并打开一个新窗口以显示查询结果。

Imports System.Data.SqlClient

Public Class frmSecond
    'Private MyDatAdp As New SqlDataAdapter '
    'Private MyDataTbl As New DataTable '
    'Private MyRowPosition As Integer = 0 '
    Private Sub frmSecond_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim connectionString As String = Nothing
        connectionString = "Data Source=DESKTOP-S7FRNAL\SQLEXPRESS;Initial Catalog=Verses_Find;Integrated Security=True"
        Dim connection As SqlConnection
        Dim command As SqlCommand
        Dim sql As String = Nothing
        Dim adaptor As New SqlDataAdapter()
        Dim ds As New DataSet()
        Dim i As Integer = 0
        sql = "Select SID, EVENT from Event_Type"
        connection = New SqlConnection(connectionString)
        Try
            connection.Open()
            command = New SqlCommand(sql, connection)
            adaptor.SelectCommand = command
            adaptor.Fill(ds)
            adaptor.Dispose()
            command.Dispose()
            connection.Close()
            ComboBox1.DataSource = ds.Tables(0)
            ComboBox1.ValueMember = "SID"
            ComboBox1.DisplayMember = "Event"
        Catch ex As Exception
            MessageBox.Show("Can't open connection")
        End Try

        connectionString = "Data Source=DESKTOP-S7FRNAL\SQLEXPRESS;Initial Catalog=Verses_Find;Integrated Security=True"
        Dim sql1 As String = Nothing
        Dim ds1 As New DataSet()
        sql1 = "Select BID, EVENT_Sub from Sub_Event"
        connection = New SqlConnection(connectionString)

        Try
            connection.Open()
            command = New SqlCommand(sql1, connection)
            adaptor.SelectCommand = command
            adaptor.Fill(ds1)
            adaptor.Dispose()
            command.Dispose()
            connection.Close()
            ComboBox2.DataSource = ds1.Tables(0)
            ComboBox2.ValueMember = "BID"
            ComboBox2.DisplayMember = "Event_Sub"
        Catch ex As Exception
            MessageBox.Show("Can't open 2nd connection")
        End Try
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MsgBox(ComboBox1.Text + " --" + ComboBox1.DisplayMember)
    End Sub
End Class

这没有用!
它只连接到第一个组合,并显示未连接到第二个组合并报告异常错误找不到或丢失PDB文件。
我没有经验和年长,所以可以做一些帮助。

标签: sqlvb.net

解决方案


推荐阅读