我在我的c#应用程序中使用mdb数据库,我的表产品有3列(Id,Name,Note),note列包含NULL值。
objConn.Open();
listView1.Items.Clear();
OleDbCommand cmd = new OleDbCommand("select prod_Id,prod_Name,prod_Note from products", objConn);
OleDbDataReader dataReader = cmd.ExecuteReader();
int i = 0;
while (dataReader.Read())
{
listView1.Items.Add(dataReader.GetValue(0).ToString());
listView1.Items[i].SubItems.Add(dataReader.GetString(1).ToString());
listView1.Items[i].SubItems.Add(dataReader.GetString(2).ToString());// Error appear here, which for Note column that has null values
i++;
}
objConn.Close();
答案 0 :(得分:2)
如果您的列包含NULL值,则无法将该NULL值转换为字符串并尝试将其添加到listview子项。你需要检查那个
int i = 0;
while (dataReader.Read())
{
listView1.Items.Add(dataReader.GetValue(0).ToString());
listView1.Items[i].SubItems.Add(dataReader.GetString(1));
listView1.Items[i].SubItems.Add(dataReader.IsDBNull(2) ? "": dataReader.GetString(2));
i++;
}