您希望从给定ID(不是Premanent)中读取数据库中的数据。我使用以下代码:
OleDbConnection co = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb");
co.Open();
**OleDbCommand cmd = new OleDbCommand("SELECT * FROM Category1 Where ID = '"+textBox1.Text+"'", co);**
OleDbDataReader reader = cmd.ExecuteReader();
int i = 1;
while (reader.Read())
{
ListViewItem li = new ListViewItem(i.ToString());
li.SubItems.Add(reader.GetString(1));
li.SubItems.Add(reader.GetString(2));
li.SubItems.Add(reader.GetString(3));
li.SubItems.Add(reader.GetString(4));
listView1.Items.Add(li);
i++;
}
但它在粗体代码行中显示错误消息:
条件表达式中的数据类型不匹配。
答案 0 :(得分:3)
ID字段是否为数字?您正在将它与字符串进行比较。这可能是问题的一部分。
答案 1 :(得分:0)
OleDbCommand cmd = new OleDbCommand("SELECT * FROM Category1 WHERE id = @id", co);
cmd.Parameters.AddWithValue("@id", textBox1.Text);
答案 2 :(得分:0)
x zip ch new
1 1 2 0
2 2 1 -4
3 1 4 2