指定演员表无效。 c#mdb数据库

时间:2015-06-08 19:34:46

标签: c# ms-access null

我在我的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();

1 个答案:

答案 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++;
}