我希望用户能够从下拉列表中选择列出数据库某些字段的下载组合,然后在下面输入搜索词,然后所有满足查询的结果都会显示在dbgrid中。我不知道如何将ComboBox的当前值链接到sql语句中。我试过用这个
begin
with ADOQuery do begin
Close;
SQL.Clear;
SQL.Add ('SELECT * FROM List WHERE combobox1.text =' + QuotedStr (Asearchterm.Text));
Open;
它不起作用。我得到的错误是“参数combobox1.text没有默认值”。有什么想法吗?
答案 0 :(得分:3)
如果您想将combobox1文本值用作sql语句的一部分,则需要按照
的方式设置sql字符串。'SELECT * FROM List WHERE [' + combobox1.text + '] = ''' + QuotedStr(Asearchterm.Text) + ''''
可能就是你要找的东西。我在QuotedStr周围添加了额外的引号,因为我猜测过滤器并不总是数值。这适用于数字和非数字值。
答案 1 :(得分:1)
而不是'combobox1.text',你必须输入你正在寻找的实际列名。您可以使用LIKE
关键字和一些通配符。类似的东西:
SELECT * FROM 'table WHERE 'column' LIKE '%YOUR_SEARCH_TEXT%';
那是搜索...如果你想找到确切的字符串,那么你必须使用=
运算符而不是LIKE