with adoquery4 do
    begin
     try
        sql.Clear;
        sql.Add('create table #fk1(lsdw nvarchar(30),'+
        'sl int,'+
        'hj1 numeric(10,0),'+
        'hj15 numeric(10,0),'+
        'hj2 numeric(10,0)'+
        ')');
        execsql;
      except
        sql.Clear;
        sql.Add('delete from #fk1');
        execsql;
      end;
      end;   with adoquery4 do
    begin
       close;
       sql.Clear;
       sql.Add('select * from #fk1');
       open;    //////////////??????????
    end;        adoquery4.Insert;
     adoquery4.FieldByName('lsdw').value:=xx;
     adoquery4.FieldByName('sl').value:=k1;
在创建临时表后,如何打开临时表,插入数据??;用adoquery4.open打开数据表,会提示如下错误:(project project1.exe raised exception class Eaccessviolation with message 'access viloation at address 1F48883D in moudule 'msado15.dll'.write of address 0316F00')
若没有adoquery4.open则不能进行adoquery4.insert操作,提示不能在关闭的数据表中操作!请各位兄弟姐妹帮忙解决如何在临时表中插入、编辑数据的问题!(SQL语句没有问题,已经在SQl中调试过了!)提供代码最好,高分相谢!在线急!!!

解决方案 »

  1.   

    sql语句虽然没有问题,但
    一个临时表在数据集adoquery4关闭之后是就不存了,所以说你插入数据肯定是不行的啦!
    如果你真想要用这个临时表就在SQL2000里写存储过程也是可以的!!!在delphi这里面是不可实现的!!!
    with adoquery4 do
        begin
         try
            sql.Clear;
            sql.Add('create table #fk1(lsdw nvarchar(30),'+
            'sl int,'+
            'hj1 numeric(10,0),'+
            'hj15 numeric(10,0),'+
            'hj2 numeric(10,0)'+
            ')');
            execsql;
          except
            sql.Clear;
            sql.Add('delete from #fk1');
            execsql;
          end;
          end;   with adoquery4 do
        begin
           close;
           sql.Clear;//关闭和清空就相当于把暂时表给删除了
           sql.Add('select * from #fk1');
           open;    //////////////??????????
        end;
      

  2.   

    l楼上说的对啊
    你 在用个adoquery5就行了