【问题标题】:Combo box joining two tables from SQL Server database连接来自 SQL Server 数据库的两个表的组合框
【发布时间】:2014-04-13 14:26:48
【问题描述】:

我正在尝试显示 SQL Server 数据库中的 2 个表,但没有显示任何内容

请帮忙!!!!!!!

MysqlConn = New SqlConnection
    MysqlConn.ConnectionString =
        "Data Source=SABAHALI-SHEIKH;Initial Catalog=md_1103763;Integrated Security=True"
Dim READER As SqlDataReader

Try
        MysqlConn.Open()
        Dim Query As String
        Query = "SELECT [customerID], [firstname], [surname], [contactnumber], [emailaddress] FROM md_1103763.dbo.customer where firstname='" & ComboBox1.Text & "'"
        Query = "SELECT [bookingID], [pickupaddress], [destinationaddress], [datebooked], [timebooked] FROM md_1103763.dbo.booking where bookingID='" & ComboBox1.Text & "'"
        COMMAND = New SqlCommand(Query, MysqlConn)
        READER = COMMAND.ExecuteReader
        While READER.Read
            TextBox1.Text = READER.GetInt32(READER.GetOrdinal("customerID"))
            TextBox2.Text = READER.GetString(READER.GetOrdinal("firstname"))
            TextBox3.Text = READER.GetString(READER.GetOrdinal("surname"))
            TextBox4.Text = READER.GetString(READER.GetOrdinal("contactnumber"))
            TextBox5.Text = READER.GetString(READER.GetOrdinal("emailaddress"))

            TextBox8.Text = READER.GetString(READER.GetOrdinal("bookingID"))
            TextBox6.Text = READER.GetString(READER.GetOrdinal("pickupaddress"))
            TextBox7.Text = READER.GetString(READER.GetOrdinal("destinationaddress"))
            DateTimePicker1.Text = READER.GetString(READER.GetOrdinal("datebooked"))
            DateTimePicker2.Text = READER.GetString(READER.GetOrdinal("timebooked"))

        End While

        MysqlConn.Close()

    Catch ex As Exception
        MessageBox.Show(ex.Message)
    Finally
        MysqlConn.Dispose()


    End Try

【问题讨论】:

  • 您正在重置 Query 变量并执行第二个 SQL 字符串。第一个没有被执行。您需要使用 SQL 将两者连接在一起或分别执行。
  • 如何分别执行每一项
  • 客户的名字和预订的bookingID 是否相同?您在 SQL 语句的条件中使用了相同的值。
  • 不,不一样
  • 注释掉第二个查询行,看看它是否返回任何结果。

标签: sql sql-server vb.net


【解决方案1】:

您可以尝试更改 这段代码

MysqlConn = New SqlConnection
    MysqlConn.ConnectionString =
        "Data Source=SABAHALI-SHEIKH;Initial Catalog=md_1103763;Integrated Security=True"
Dim READER As SqlDataReader

Try
        MysqlConn.Open()
        Dim Query As String
        Query = "SELECT md_1103763.dbo.customer.customerID, md_1103763.dbo.customer.firstname, md_1103763.dbo.customer.surname,"&"md_1103763.dbo.customer.contactnumber, md_1103763.dbo.customer.emailaddress,"&
        "md_1103763.dbo.booking.bookingID, md_1103763.dbo.booking.pickupaddress, md_1103763.dbo.booking.destinationaddress," &
        "md_1103763.dbo.booking.datebooked, md_1103763.dbo.booking.timebooked FROM md_1103763.dbo.customer,md_1103763.dbo.booking "&
        " where firstname='" & ComboBox1.Text & "'" +" And bookingID='" & ComboBox1.Text & "'"

        COMMAND = New SqlCommand(Query, MysqlConn)
        READER = COMMAND.ExecuteReader
        While READER.Read
            TextBox1.Text = READER.GetInt32(READER.GetOrdinal("customerID"))
            TextBox2.Text = READER.GetString(READER.GetOrdinal("firstname"))
            TextBox3.Text = READER.GetString(READER.GetOrdinal("surname"))
            TextBox4.Text = READER.GetString(READER.GetOrdinal("contactnumber"))
            TextBox5.Text = READER.GetString(READER.GetOrdinal("emailaddress"))

            TextBox8.Text = READER.GetString(READER.GetOrdinal("bookingID"))
            TextBox6.Text = READER.GetString(READER.GetOrdinal("pickupaddress"))
            TextBox7.Text = READER.GetString(READER.GetOrdinal("destinationaddress"))
            DateTimePicker1.Text = READER.GetString(READER.GetOrdinal("datebooked"))
            DateTimePicker2.Text = READER.GetString(READER.GetOrdinal("timebooked"))

        End While

        MysqlConn.Close()

    Catch ex As Exception
        MessageBox.Show(ex.Message)
    Finally
        MysqlConn.Dispose()


    End Try

【讨论】:

  • 表示将 varchar 值“roberta”转换为数据类型 int 时转换失败。顺便说一下,罗伯塔是客户的名字
猜你喜欢
  • 2020-12-06
  • 2018-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-05
  • 1970-01-01
相关资源
最近更新 更多