我正在使用sql datareader从mssql服务器提取数据。我希望数据阅读器中的值显示在数据视图中。我如何检查如果一个特定的字段是空的??
Row1["EmployeeID"] = x.GetString(2);当我使用这个从sqldatareader (x)提取数据时,它说' data是空的。此方法或属性不能使用/!!我还可以使用什么来读取空值
可以使用
Row1["EmployeeID"] = (x.GetValue(2) as string);
如果你使用Getstring,它将总是抛出异常,如果值不是字符串。如果你使用GetValue,它将返回对象,如果它是null,它将返回一个DBNull对象。
编辑:Use 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。
我会这样编码:
Row1["EmployeeID"] = x[2] == DbNull ? string.Empty : x.GetString(2);