我用DataSource1-->Query1,用DataSource1.dataset.append添加记录,写上数据后,然后用DataSource1.dataset.Post提交数据,但是数据没有写入数据表里,请问是什么原因,我的数据库是oracle817,Query1-->UpdateSQL1,query1的cachedupdates=true。

解决方案 »

  1.   

    用ADOQuery1的話用類式下面的方法增加  
    -----------------------------------------------
          ADOQuery1.close;
          ADOQuery1.SQL.Clear;
          ADOQuery1.SQL.Add('insert into drtdata   (mpoint_no,update_data,data_status,mine_code,update_time,sensor_num,other_field,back_field) values(:a1, :a2, :a3, :b1, :b2, :b3, :b4, :b5')');
          ADOQuery1.Parameters.ParamByName('a1').Value:=strtoint(Edit1.txt);
          ADOQuery1.Parameters.ParamByName('a2').Value:=strtofloat(Edit2.txt);
          ADOQuery1.Parameters.ParamByName('a3').Value:=Edit3.txt;
          ADOQuery1.Parameters.ParamByName('b1').Value:=Edit4.txt;
          ADOQuery1.Parameters.ParamByName('b2').Value:=strtodatetime(Edit5.txt);
          ADOQuery1.Parameters.ParamByName('b3').Value:=strtoint(Edit6.txt);
          ADOQuery1.Parameters.ParamByName('b4').Value:=Edit7.txt;
          ADOQuery1.Parameters.ParamByName('b5').Value:=Edit8.txt;
          ADOQuery1.ExecSQL;
    用ADOTable1的話用下面的
      

  2.   

    to superyys
    requestlive是起什么作用的
      

  3.   

    query1的cachedupdates=true。
    这应该是原因所在,改成false试试。
      

  4.   

    我将requestlive设为true,cachedupdates=false后为什么提示我表不存在呢?
      

  5.   

    是不是你的数据集开起了缓存模式啊
    locktype设置为ltOptimistic
      

  6.   

    to angle097113
    你所说的那个属性在query1中我找不到呀?