如何搜索数据库中的特定字段

时间:2012-04-04 14:38:06

标签: sql database delphi

我希望用户能够从下拉列表中选择列出数据库某些字段的下载组合,然后在下面输入搜索词,然后所有满足查询的结果都会显示在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没有默认值”。有什么想法吗?

2 个答案:

答案 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

More info here