请帮助纠正错误:
从字符串“ ini_value”到类型“ Integer”的转换无效
当我检查错误的来源时,是将数据放入TextBox的时间,但在数据库中该列被声明为十进制。
If Conn.State = ConnectionState.Open Then Conn.Close()
Try
Conn.Open()
Dim rd As SqlDataReader
cmd = New SqlCommand("Select * from INI Where ini_id= 5", Conn)
rd = cmd.ExecuteReader
While rd.Read
TxtMarginSLAperc.Text = rd.GetDecimal("ini_value")
End While
Conn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
答案 0 :(得分:0)
GetDecimal()函数需要一个整数(列序号),请尝试以下操作:
TxtMarginSLAperc.Text = rd.GetDecimal(rd.GetOrdinal("ini_value")).ToString()
GetOrdinal()函数将检索由提供的列名描述的列序。
最后的ToString()将基于从数据库中检索到的十进制返回一个字符串值。