0
我正在研究一個應用程序,我需要從SQL Server數據庫中提取信息並將其顯示在標籤中。從SQL數據庫中提取數據,在VB應用程序的標籤中顯示
在應用程序中,我正在跟蹤排球隊成員的信息。當名單在數據庫中創建時,我只是將主鍵「PlayerID」作爲身份標識,所以我沒有記住每個球員身份,如果我使用的是球衣號碼。因此,我想從數據庫中提取該玩家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」文本。我仔細檢查過所有的標籤都是正確命名的。
我在應用程序中的另一個表單上有同樣的情況,我也從數據庫中提取信息並將其顯示在標籤中,並且在那裏工作正常。在這種情況下無法弄清楚問題所在。
使用調試器逐步查找意外行爲發生的位置。同時,想想當兩名同名的球員出現時想要發生什麼。 –
您需要立即參數化您的查詢。他們的方式,你已經編碼這是一個文本書的SQL注入漏洞的例子。 http://bobby-tables.com/ –
感謝提示,夥計們。我發現了這個問題 - 我只是在錯誤的事件處理程序下做了所有事情! – EJF