繁体   English   中英

从不同的表中选择数据 - vb.net

[英]Select data from different tables - vb.net

我正在尝试从我的数据库中选择一些数据并将其显示到文本框中。 首先是我从 realestate.useraccounts 中选择数据,然后到 realestate.userprofiles。 它适用于用户帐户,但不适用于用户配置文件。 `

    Try
        con.Open()
        Dim q1 As String
        q1 = "select userid,email from realestate.useraccounts where username='" & frmLogin.txtUsername.Text & "'"
        cmd = New MySqlCommand(q1, con)
        cmd.ExecuteNonQuery()
        dr = cmd.ExecuteReader
        If dr.HasRows Then
            dr.Read()
            lblUserid.Text = dr("userid")
            txtEmail.Text = dr("email")
        End If
        con.Close()
        con.Open()
            Dim q2 As String
            q2 = "select * from realestate.userprofiles where userid = '" & lblUserid.Text & "'"
            cmd = New MySqlCommand(q2, con)
            cmd.ExecuteNonQuery()
            If dr.HasRows Then
                dr.Read()
                txtFirst.Text = dr("lastname")
                txtLast.Text = dr("firstname")
                txtAddress.Text = dr("address")
            End If
        con.Close()
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    Finally
        con.Dispose()
    End Try`

您在第二个查询中忘记了dr = cmd.ExecuteReader() ,因此您的 dr.Read 无法读取您的第二个查询。

您也可以在使用后关闭阅读器。

让我们试试这个:

Try
        con.Open()
        Dim q1 As String
        q1 = "select userid,email from realestate.useraccounts where username='" & frmLogin.txtUsername.Text & "'"
        cmd = New MySqlCommand(q1, con)
        cmd.ExecuteNonQuery()
        dr = cmd.ExecuteReader
        If dr.HasRows Then
            dr.Read()
            lblUserid.Text = dr("userid")
            txtEmail.Text = dr("email")
        End If
        dr.Close()
        con.Close()
        con.Open()
            Dim q2 As String
            q2 = "select * from realestate.userprofiles where userid = '" & lblUserid.Text & "'"
            cmd = New MySqlCommand(q2, con)
            cmd.ExecuteNonQuery()
            dr = cmd.ExecuteReader
            If dr.HasRows Then
                dr.Read()
                txtFirst.Text = dr("lastname")
                txtLast.Text = dr("firstname")
                txtAddress.Text = dr("address")
            End If
            dr.Close()
        con.Close()
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    Finally
        con.Dispose()
    End Try`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM