在我的代码中,我在文本框中输入一个字符串,并让查询检查服务器是否有条目。如果存在,它会将字符串和日期返回到两个单独的变量中。数据库只有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