如何用数据库中的数据填充文本框

时间:2019-02-13 13:53:20

标签: vb.net

请帮助纠正错误:

  

从字符串“ 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

1 个答案:

答案 0 :(得分:0)

GetDecimal()函数需要一个整数(列序号),请尝试以下操作:

TxtMarginSLAperc.Text = rd.GetDecimal(rd.GetOrdinal("ini_value")).ToString()

GetOrdinal()函数将检索由提供的列名描述的列序。

最后的ToString()将基于从数据库中检索到的十进制返回一个字符串值。