带有3个AND条件的c#查询
本文关键字:查询 条件 3个 AND 带有 | 更新日期: 2023-09-27 18:08:49
我有3个组合框,从MS Access数据库中获取信息。我要根据组合框的值从数据库中选择数据。
我写了这个查询:
string query = "select * from products where category='" + comboBox1.Text + "' and subcategory='" + comboBox2.Text + "' and size='" + comboBox3.Text + "'";
但是它给了我以下的异常:
IErrorInfo。GetDescription failed with E_FAIL(0x80004005).
你能帮我吗?
完整代码:
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "select * from products where category='" + comboBox1.Text +
"' and subcategory='" + comboBox2.Text + "' and size='" + comboBox3.Text + "'";
command.CommandText = query;
OleDbDataAdapter da = new OleDbDataAdapter(command);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
connection.Close();
我猜因为size是MS Access中的保留字,它抛出该错误。
查看Access中的保留字列表。
尝试更改列名。另外,尝试使用参数化查询来防止sql注入。关于如何在Access中使用参数化查询,请参阅此答案。