在我的代碼中,我在文本框中輸入一個字符串,並讓查詢檢查服務器是否有條目。如果存在,它會將字符串和日期返回到兩個單獨的變量中。數據庫只有TrackingNumber和Date。以下是代碼。截至目前,我得到「無效數據存在時嘗試讀取」。在「If(sdr(」TrackingNumber「)IsNot Nothing)Then」line。我究竟做錯了什麼?SQL可能無法返回視覺基本查詢的值
Public Function CreateSqlParameter(ByVal name As String, ByVal dbType As DbType, ByVal direction As ParameterDirection, ByVal value As Object) As SqlParameter
Dim parameter As SqlParameter = New SqlParameter()
parameter.ParameterName = name
parameter.DbType = dbType
parameter.Direction = direction
parameter.Value = value
Return parameter
End Function
Private Sub DupOKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DupOKButton.Click
Dim trackNumber As String
Dim dateSent As DateTime
trackNumber = Me.DupTNText.Text
Dim connectionString As String = "Data Source=XXXXX;Initial Catalog=ScannedDB;Integrated Security=True;Pooling=False;Encrypt=False"
Dim cmdText As String = "SELECT TrackingNumber, [Date] FROM ScannedDBTable WHERE TrackingNumber = @TrackingNumber"
Using connection As New SqlClient.SqlConnection(connectionString)
Dim cmd As New SqlClient.SqlCommand(cmdText, connection)
cmd.Parameters.Add(CreateSqlParameter("@TrackingNumber", DbType.String, ParameterDirection.Input, trackNumber))
cmd.Parameters.Add(CreateSqlParameter("@Date", DbType.DateTime, ParameterDirection.Input, dateSent))
connection.Open()
Dim sdr As SqlDataReader = cmd.ExecuteReader()
If (sdr("TrackingNumber") IsNot Nothing) Then
trackNumber = Convert.ToString(sdr("@TrackingNumber"))
dateSent = Convert.ToString(sdr("@Date"))
Else
End If
'Rest of code...
這是vb.net不是C#。 – JonH 2010-06-29 18:20:30
很確定他可以進行調整 – Gratzy 2010-06-29 18:22:02
只需拿出{}並在末尾添加'loop' :) – egrunin 2010-06-29 18:22:11