读取时sqldatareader错误

时间:2011-04-06 11:10:29

标签: asp.net sql-server datagridview sqldatareader

我使用sql datareader从mssql服务器中提取数据..我希望datareader中的值显示在datagridview中。 我如何检查特定字段是否为空?

Row1 [“EmployeeID”] = x.GetString(2); 当我使用它从sqldatareader(x)中提取数据时,它说'DATA为null。这个方法或属性不能使用/ !!!' 我还可以使用什么来读取空值。

2 个答案:

答案 0 :(得分:0)

您可以使用

Row1["EmployeeID"] = (x.GetValue(2) as string);

如果使用Getstring,如果值不是字符串,它将始终抛出异常。如果你使用GetValue,它将返回该对象,如果它为null,它将返回一个DBNull对象。

编辑:使用DataAdapter:

DataSet ds;
using (SqlConnection sqlCon = new SqlConnection(connectionString))
{
     sqlCon.Open();
     SqlCommand sqlCom = new SqlCommand("Select * From Table",sqlCon);
     SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCom);
     sqlDa.Fill(ds);
}

然后,您可以将ds绑定到DataGridView.DataSource。

答案 1 :(得分:0)

我会更喜欢这样编码:

Row1["EmployeeID"] =  x[2] == DbNull ? string.Empty : x.GetString(2);