指定的转换无效。由 C# MDB 数据库
Specified cast is not valid. c# mdb database
我在我的 C# 应用程序中使用 mdb 数据库,我有 table 个产品,其中有 3 个列(Id、名称、注释),注释列包含 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();
如果您的列包含 NULL 值,则您无法将该 NULL 值转换为字符串并尝试将其添加到您的列表视图子项中。你需要检查一下
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++;
}
我在我的 C# 应用程序中使用 mdb 数据库,我有 table 个产品,其中有 3 个列(Id、名称、注释),注释列包含 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();
如果您的列包含 NULL 值,则您无法将该 NULL 值转换为字符串并尝试将其添加到您的列表视图子项中。你需要检查一下
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++;
}