query1.params.clear;
query1.params.createparam(ftinteger,'depart_id',ptinput);
Query1.Params[0].AsInteger := 1;

解决方案 »

  1.   

    看不懂你的sql语句,是否应该是下面这样:sql.text := 'select id,name from persion where id=:depart_id';
      

  2.   

    不是,我要得到如下的结果:select id,name,1
    from person

    select id,name,2
    from person所以动态传递参数:depart_id来代替(1,2).
    谢谢两位!
      

  3.   

    当然不能这样,因为参数仁递不是单纯的字符替换。
    Query1.Params[0].AsInteger := 1;
    Qrery1.Sql.savetofile('c:\windows\desktop\sql.txt');
    看一下是什么不就得了??
      

  4.   

    我试过,不会有问题
    可能是其他的问题吧
    (field有多少个)
        query1.close;
        query1.sql.clear;
        query1.SQL.add('select username,:depart_id from log');
        Query1.Params[0].AsInteger := 1;
        query1.open;
      

  5.   

    myxfang(小方):
    我试过了,数据显示不正常!
    :v001
    (MEMO)
      

  6.   

    你的1,2是字段名吗?如果是则应该:
    query1.params.clear;
    query1.params.createparam(ftstring,'depart_id',ptinput);
    Query1.Params[0].Asstring :='1'; 
      

  7.   

    myxfang(小方):是Oracle(8.1.6);是没选择字段.
    blucecat(阿水爱cat):不,1,2是结果,不是字段名.
    谢谢二位!