Q&A

  • 추가하려고 하면 List index out of bounds(0) error
Interbase를 이용하여 프로그램을 만들려고 합니다.



UpdateSQL을 이용하여 처음엔 append, post, delete등 모두 잘 됩니다.



그런데 조금 복잡해지면 계속 list index out of bounds(0) error가 납니다.



소스를 보면서 설명하면



procedure TForm1.Button1Click(Sender: TObject);

//추가 버튼을 누르면 query3으로 max값을 얻습니다. 일련번호입니다.

var newemp:integer;

begin

with DataModule2.IBQuery3 do begin

close;

SQL.clear;

SQL.add('select max(empno) from yellowbook');

Open;

end;

newemp:=DataModule2.IBQuery3.FieldByName('max').AsInteger+1;

DBNavigator1.BtnClick(nbInsert);

DBEdit1.Text:=IntToStr(newemp);

DBEdit2.Setfocus;

end;



procedure TForm1.Button3Click(Sender: TObject); //이곳이 저장 버튼인데 여기만 누르면 에러가 납니다.



begin

DBNavigator1.BtnClick(nbPost);

end;







procedure TForm1.Button4Click(Sender: TObject); 여긴 디테일 인데 여긴 똑같은데 잘됩니다.

var yy : integer;

begin

if Edit1.Text<>'' then begin

with DataModule2.IBQuery2 do begin

yy:=DataModule2.IBQuery2.RecordCount+1;

Append;

FieldByName('cid').AsString:=IntToStr(yy);

FieldByName('empno').AsString:=DBEdit1.Text;

FieldByName('cdate').AsDateTime:=Now;

FieldByName('progress').AsString:=Edit1.Text;

Post;

ApplyUpdates;

end;

Edit1.Text:='';

end;



end;



도와 주십시오..



DBEdit를 여러개 만들고 DBNavigator를 하나 만들어서 저장을 누르면 DBNavigator의 post button을 눌러서 저장하고 저장하고 싶습니다.



왜? out of bounds에러가 나는지 아시는분 도와주십시오....

0  COMMENTS