我使用sql datareader从mssql服务器中提取数据..我希望datareader中的值显示在datagridview中。 我如何检查特定字段是否为空?
Row1 [“EmployeeID”] = x.GetString(2); 当我使用它从sqldatareader(x)中提取数据时,它说'DATA为null。这个方法或属性不能使用/ !!!' 我还可以使用什么来读取空值。
答案 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);