字符串到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
GetString
需要一个整数值作为列序号,您正在向它传递一个字符串,可能是列名。指定正确的列序号或使用:
string ut = Convert.ToString(dr["usertype"]);
或者,如果要使用GetString
,则指定列序号,如:
string ut = dr.GetString(0); //assuming 0 ordinal is for `usertype`
还有一点需要添加,将您的SqlConnection
、SqlCommand
和SqlDataReader
包含在using语句中。这将确保它们在使用后得到处理。
不使用GetString
方法,您可以在下面的代码中获取字符串中的列值:
while(dr.Read())
{
string ut=dr["usertype"].ToString();
//..........
}