比如在 'select * from menu where aa=0'其中aa为变量如何实现?

解决方案 »

  1.   

    mySql := 'select * from menu where '+aa+' = '+'0';
      

  2.   

    var
      x:integer;
      str:string;
    begin
      x:=5;
      str:='select * from menu where aa='+x;
      

  3.   

    var
      x:integer;
      str:string;
    begin
      x:=5;
      str:='select * from menu where aa='+inttostr(x);
      

  4.   

    根据不同类型来吧
    value1是字符串:
    mySql := 'select * from menu where '+aa+' = '''+value1;value1是数字等:
    mySql := 'select * from menu where '+aa+' = '+IntToStr(value1);
      

  5.   

    TableName 不能用 ParamByName 或者 Params 来赋值。
    用 1 楼的办法应该是可行的。
      

  6.   

    create procedure mypro (@name varchar(50),@value varchar(50))
    as
    declare @sql varchar(1000)
    select @sql='select * from menu where '+@name+@value
    exec(@sql)
    go
      

  7.   

    var
      FieldStr: String;
      MySqlStr: String;
    begin
      FieldStr:= 'XXX';
      MySqlStr:= 'select * from TableName where '+FieldStr+ '= '+'0';
      ......
      
    end;