从SQL数据库中提取数据,在VB应用程序中显示标签

时间:2015-05-28 20:01:15

标签: sql-server database

我正在开发一个应用程序,我需要从SQL Server数据库中提取信息并将其显示在标签中。

在申请中,我正在跟踪排球队员的信息。当在数据库中创建名单时,我只是将主键“PlayerID”作为一个标识,所以我没有按照我使用的方式记住每个玩家ID,比如说球衣号码。因此,我想从数据库中提取该玩家ID并将其显示在相应玩家名称旁边的应用程序中的某个表单上。

我已经有一个显示玩家姓名的标签lblPlayer1。然后我创建了另一个标签lblPlayer1ID,它将显示从数据库中提取的ID。

这是我的代码:

Dim player1ID As Integer

Dim player1 As String
player1 = lblPlayer1.Text

Dim vballconnection As New SqlConnection
    vballconnection.ConnectionString = "[my connection string is here]"

Dim cmd1 As New SqlCommand
    cmd1.Connection = vballconnection
    cmd1.CommandText = "SELECT PlayerID FROM Player WHERE FirstName = '" & player1 & "'"
    vballconnection.Open()

Try
        Dim myreader As SqlDataReader = cmd1.ExecuteReader()
        If myreader.Read() Then
            lblPlayer1ID.Text = myreader.GetValue(0)
        End If
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

vballconnection.Close()

我也试过像这样设置Try / Catch:

Try
        Dim myreader As SqlDataReader = cmd1.ExecuteReader()
        If myreader.Read() Then
            player1ID = myreader.GetValue(0)
        End If
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
    lblPlayer1ID.Text = player1ID.ToString()

问题是我的lblPlayer1ID没有显示值。当我运行应用程序时,标签仍然只显示默认的“Label1”文本。我已经仔细检查过所有标签都已正确命名。

我在应用程序中的另一个表单上有相同的情况,我也从数据库中提取信息并将其显示在标签中,并且它在那里工作正常。在这种情况下无法弄清楚问题是什么。

1 个答案:

答案 0 :(得分:0)

请更改您的尝试

Try
     lblPlayer1ID.Text = cmd1.ExecuteScalar()


Catch ex As Exception
    MsgBox(ex.Message)
End Try

我还建议您立即在查询中使用参数!