sqltext:
  select * from "addresslist.db" 
  where lookupfield=:paramname
begin
  query1.close;
  query1.parambyname('paramname').asstring:=edit1.text;
  query1.prepare;
  query1.open;
end;

解决方案 »

  1.   

    1.
    var sqlstr:string;
    begin
       sqlstr:='select * from yourtable where yourfield='''+edit1.text+'''';
       query1.close;
       query1.sql.clear;
       query1.sql.add(sqlstr);
       query1.open;
    end;
    2.sqlstr:='select * from '+combobox1.text+' where ...'
      

  2.   

    var 
    str:string;
    begin
       str:='select * from 表 where 字段='''+edit1.text+'''';
       query1.close;
       query1.sql.clear;
       query1.sql.add(str);
       query1.open;
    end;
    2.str:='select * from '+combobox1.text+' where ...'
      

  3.   

    sql.Text :='select * from '+ComboBox1.Text+ where yourfield='''+edit1.text+'''';
      

  4.   

    如果字段是字符型,假设为field,下面用函数页不错
    1。'select * from yourtable where field='+QuotedStr(edit1.text);   
    2.根据选择的表,将Datasource 和不同的数据表帮定。
    大致如下:用选择语句也可以
    if combobox.items.index=## then
       Datasource.dataset:=''
    else if #
       ##
    else if
      

  5.   

    Query1.sql.add('select * from '''+combobox.text+''' where XXX= '''+edit.text+'''')
      

  6.   

    在COMBOBOX的ONCHANGE事件Query1.sql.add('select * from '''+combobox.text+'''')
      

  7.   

    不行呀,我都是过了,是这样
    procedure TForm1.Button1Click(Sender: TObject);
    var
    sqlstr:string;
    begin
    if edit1.text='' then
      begin
         edit1.Text:='请输入';
         end
       else
       begin
       try
       //sqlstr:=edit1.Text;
    query1.close;
       query1.sql.Clear;
       query1.SQL.Add('select * from "borrow.db" where 姓名='''+edit1.text+'''');
       
       //query1.SQL.Add('sqlstr');
       query1.Prepare;
       query1.ExecSQL;
       query1.Open;
       except
       showmessage('ÇëÊäÈë');
       end;
        end;
    end;
      

  8.   

    应将'''+combobox.text+''' 写成'+combobox.text+'...
    o0
      

  9.   

    可以使用参数
    query1.sql.add('select * from "addresslist.db" where 字段名=:aa');//aa为参数名
    query1.parambyname('aa').value:=edit1.text;
      

  10.   

    感谢大家的支持,第一个问题我已经实现了。
    query1.close;
    query1.sql.clear;
    query1.sql.add('select * from "tablename.db" where fieldname='''+edit.text+'''');
    query1.open;
    这中间不能加比如:query1.prepare;
    query1.execsql;等等语句。第二个问题我正在试。再次感谢大家。
      

  11.   

    利用这两种方法也实现了
    1、query1.sql.add('select * from "表名.db" where 字段名='+quotedstr(edit1.text)+'');2、query.sql.add('select * from "表名.db" where 字段名=:字符变量');
    query1.parambyname('字符变量'):=edit1.text;3、query1.sql.add('select *from "表名.db" where 字段名='''+edit1.text+'''');
    第三种方法也实现了但是为什么要加那么多单引号?还有加号?而且,单引号去掉一个都不行?
      

  12.   

    if combobox1.itemindex=0 then
    begin
    query1.databasename:='数据库别名';
    query1.close;
    query1.sql.clear;
    query1.('select * from '+combobox1.text+'');
    query1.open;
    datasource1.dataset:=query2;
    dbgrid1.datasource:=datasource1;
    end;
    这种做法调试成功,但是要在combobox的itemstring中输入“我数据标的名字“显然这种做法有很多人看不懂(不知道选那个表),请问有什么办法在combobox中输入汉字。