可以让用户直接写sql语句,然后用 
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add(inputStr);
  Query1.Open;
还有就是自己做几个查询字段的列表和查询方式和查询值的列表
让用户可以自己选,你再根据这个用程序生成sql语句。

解决方案 »

  1.   

    那Delphi中的参数“:abc”怎么在Sql Server中编译过呢。
    应该用什么代替。
      

  2.   

    create procedure
       declare @abc varchar(50);
    begin
    select * from .. where ..=@abc
    end
      

  3.   

    楼上说的是sql server中的用法
      

  4.   

    1.3个ComboBox,b1,b2,b3,b4,还有一个编辑框Edit1
    2.b1显示所有的表,b2显示所有的列,b3显示显示比较符号(like\>=\<=\......),Edit1显示比较的值(自己填写),b4显示查询的组合(and/or/结束)
    3.客户首先选择表,组合成select * from tableX
    4.客户再选择"列+比较符号+值"
    5.如果没有结束就再进行and或or用一个memo显示以下你组合的查询是否符合语法
      

  5.   

    {:a1为参数多个参数按[0],[1]......等排列}
    query1.sql.add('select * from abc where a1=:a1');
    adoquery1.parameters[0].values:='sdhfaskdf';
    query1.execute;