字符串到int无效异常如何从数据库检索此列

本文关键字:数据库 检索 int 无效 异常 字符串 | 更新日期: 2024-10-18 16:06:51

我有以下代码:

void combofill()
{
    String str = "server=RAVI;database=sampledb;Integrated Security=SSPI";
    String query = "select * from DentalLogin";
    SqlConnection con = new SqlConnection(str);
    SqlCommand cmd = new SqlCommand(query, con);
    SqlDataReader dr;
    try
    {
        con.Open();
        dr = cmd.ExecuteReader();
        while(dr.Read())
         {
         string ut = dr.GetString("usertype");
         ComboBoxut.Items.Add(ut);
    }
}

我在string ut=dr.GetString("usertype");处出错错误为:

无法将字符串转换为int

字符串到int无效异常如何从数据库检索此列

GetString需要一个整数值作为列序号,您正在向它传递一个字符串,可能是列名。指定正确的列序号或使用:

 string ut = Convert.ToString(dr["usertype"]);

或者,如果要使用GetString,则指定列序号,如:

 string ut = dr.GetString(0); //assuming 0 ordinal is for `usertype`

还有一点需要添加,将您的SqlConnectionSqlCommandSqlDataReader包含在using语句中。这将确保它们在使用后得到处理。

不使用GetString方法,您可以在下面的代码中获取字符串中的列值:

while(dr.Read())
{
    string ut=dr["usertype"].ToString();
    //..........
}