现有一个语句
SQL.Text:='insert into lingyong Values(zhigongno1,zhigongname1,laobao_no[i],cx_date,lingyongnum1)';
其中zhigongno1,zhigongname1,laobao_no[i],cxdate,lingyongnum1为变量,该插入语句将这些变量的值存入,编译通过,运行时却将zhigongno1作为字段名,为何,该如何修改

解决方案 »

  1.   

    sql.add('insert into lingyong values(:p1,....)
    parameters.parambyname('p1').value := zhigongnol;
    .....
      

  2.   

    SQL.Text:='insert into lingyong Values('+zhigongno1+','+zhigongname1+','+laobao_no[i]+','+cx_date+','lingyongnum1+')';
    如果是字符串类型的要quotedstr(zhigongno1)
      

  3.   

    var
       s:string
    s:=format('insert into lingyong Values(''%S'',''%d'') ',[变量名(字符型),变量名(数值型)]);
    sql.text:=s;