1:错误提示,list index out of bound (3),这是什么原因?
2:错误提示:cannot ...on a close dataset,这又是什么原因?

解决方案 »

  1.   

    1: 列表越限, 你可能讀取了某個不存在的字段;
    2: 你的query 中的ExcuteOption 設置有關! 提示不能操作一個已經關閉了的數據集!
      

  2.   

    1: 列表越限, 你可能是用了columns的时候最后一个最大是count-1的 也就是从0开始的
    2: 你的query没有open的时候就进行了操作的 应该先打开的
      

  3.   

    越限?没有啊,在sql中有四项,我对fields[3]进行的操作;
      

  4.   

    代码如下:
    procedure TForm1.ButtonInPutClick(Sender: TObject);
    var
    str : string;    
    picstream:tadoblobstream;
    begin
       //删去了一些不相关的代码;
        ado.Close;
       ado.sql.Clear;
       ado.sql.Add('insert into d_wzclxx(lsh,wzlk,wzlb,t1) values(:lshlsh,:lklk,:wzlblb,:t1t1)');//t1是image类型的;
       ado.Parameters[0].Value:=str;
       ado.Parameters[1].Value:=place.Text;
       ado.Parameters[2].Value:=DBLookupComboBox1.Text;
    picstream:=tadoblobstream.Create(tblobfield(ado.Fields[3]),bmWrite);//到这里就出现了错误1,如果前面加上ado.edit,就会出现错误2(错误1,错误2见问题);
    picstream.LoadFromFile(imagefile1);
    picstream.Position:=0;
    tblobfield(ado.Fields[3]).loadfromstream(picstream);
    ado.ExecSQL;
    end;