Tquery里面有这么一个语句:Insert into KK_ACCOUNT
 VALUES(:NO,:CODE,:SIZETYPE,:INDATE,NULL,:USERID_IN,NULL,NULL,
         NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)NO,CODE,SIZETYPE,INDATE,USERID_IN 我想用参数传进去,结果提示错误:error creating cursor handle.该怎么改程序?

解决方案 »

  1.   

    首先确定INSERT INTO 语句正确,其次使用EXECSQL,不是OPEN;
      

  2.   

    KK_ACCOUNT 是表把?
    ------------------是表。
    现在是Tquery不能active~~不是传参数的时候出错~~
      

  3.   

    代码如下: 
    WITH KKACOUNTINSERT DO
         BEGIN
           KKACOUNTINSERT.Active := FALSE;
           KKACOUNTINSERT.ParamByName('NO').ASSTRING := NO ;
           showmessage(NO);
           KKACOUNTINSERT.ParamByName('CODE').ASSTRING := CODE;
           KKACOUNTINSERT.ParamByName('SIZETYPE').ASSTRING := SIZETYPE;
           KKACOUNTINSERT.ParamByName('INDATE').asdatetime := strtodatetime(INDATE);
           KKACOUNTINSERT.ParamByName('USERID_IN').asstring := USERID_IN;       
           KKACOUNTINSERT.Active := TRUE;
          END
      

  4.   

    不懂为什么一定要用Active????
      

  5.   

    Active 只用在SELECT 语句时。
      

  6.   

    上面的sql语句的代码也贴出来看看
      

  7.   


    WITH KKACOUNTINSERT DO
         BEGIN
           //KKACOUNTINSERT.Active := FALSE;
           KKACOUNTINSERT.ParamByName('NO').ASSTRING := NO ;
           showmessage(NO);
           KKACOUNTINSERT.ParamByName('CODE').ASSTRING := CODE;
           KKACOUNTINSERT.ParamByName('SIZETYPE').ASSTRING := SIZETYPE;
           KKACOUNTINSERT.ParamByName('INDATE').asdatetime := strtodatetime(INDATE);
           KKACOUNTINSERT.ParamByName('USERID_IN').asstring := USERID_IN; 
           KKACOUNTINSERT.ExecSQL;      
           //KKACOUNTINSERT.Active := TRUE;
          END
    哈哈,果然,不用了就ok了~~~谢谢36