带有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();

带有3个AND条件的c#查询

我猜因为sizeMS Access中的保留字,它抛出该错误。

查看Access中的保留字列表。

尝试更改列名。另外,尝试使用参数化查询来防止sql注入。关于如何在Access中使用参数化查询,请参阅此答案。