好吧,我又被困住了。到目前为止,一切都很顺利。我正在从数据库中读取一些数据(通常的东西),但它给我指定的演员表是无效的错误。这不是我第一次处理这个错误。早些时候我有一个日期列。无论如何,我有一张桌子需要阅读。它的数据类型是 FLOAT。所以这是我正在使用的代码:
Dim rdr = sqlCmd.ExecuteReader
While rdr.Read
theResults.Add(New UserData With {
.BalAvailable = rdr.GetFloat(0),
.branch = rdr.GetInt32(1)
})
End While
这是在一个函数下运行的;这是班级...
Class UserData
Dim theResults = New List(Of UserData)
Property Branch As Integer
Property BalAvailable As Single
End Class
这是输入部分......
Dim clientNo As Integer = 0
Dim myResults = GetData(clientNo)
If Integer.TryParse(txtInput.Text, clientNo) Then
If myResults.Count = 1 Then
txtBalAvail.Text = CInt(myResults(0).BalAvail)
Else
每次我输入一个值时,它都会给我指定的强制转换无效错误。
System.Data.SqlClient.SqlBuffer.get_Int32() +5270501
System.Data.SqlClient.SqlDataReader.GetInt32(Int32 i) +62
我相信这可能与我使用的陈述有关?
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
我被困住了。我还尝试将 rdr.GetFloat 更改为 Double,并将 Integer.TryParse 更改为 Double.TryParse。我被困住了!