procedure TForm1.db_refresh;
var
i : integer;
begin
ClearGrid;
ADOQuery1.sql.Clear;
ADOQuery1.sql.Add(sql_main);
ADOQuery1.Open;
Sgrid.RowCount := ADOQuery1.RecordCount + 1;
for i := 1 to ADOQuery1.RecordCount do
begin
Sgrid.Cells[0,i] := ADOQuery1.FieldByName('name').AsString;
Sgrid.Cells[1,i] := ADOQuery1.FieldByName('birth').AsString;
Sgrid.Cells[2,i] := ADOQuery1.FieldByName('address').AsString;
Sgrid.Cells[3,i] := ADOQuery1.FieldByName('phone').AsString;
ADOQuery1.Next;
end;
ADOQuery1.Recordset.Close;
ADOQuery1.Close;
end;
-----------------------------------------------------------------
procedure TForm1.db_access(sql : string);
begin
try
ADOCon.BeginTrans;
ClearGrid;
ADOQuery1.sql.Clear;
ADOQuery1.sql.Add(sql);
ADOQuery1.ExecSQL;
ADOCon.CommitTrans;
except
ADOCon.RollbackTrans;
showmessage('데이터 베이스 접근에 실패 하였습니다.');
end;
db_refresh;
end;
위와같이 작성하였습니다.
ADOConnection과 ADOQuery를 사용하였고.
BDE에서 사용하던것을 그대로 ADO로 옮겨서 사용 하였습니다.
BDE에서는 아무런 문제도 나지 않는데 ADO에서 db_access를 실행하면
자꾸 에러가 납니다. 도와 주십시오.
db_refresh할때는 전혀 에러가 안나는데 ADOQuery1.ExecSQL 에서
에러가 납니다.
> procedure TForm1.db_refresh;
> var
> i : integer;
> begin
> ClearGrid;
> ADOQuery1.sql.Clear;
> ADOQuery1.sql.Add(sql_main);
> ADOQuery1.Open;
>
> Sgrid.RowCount := ADOQuery1.RecordCount + 1;
>
> for i := 1 to ADOQuery1.RecordCount do
> begin
> Sgrid.Cells[0,i] := ADOQuery1.FieldByName('name').AsString;
> Sgrid.Cells[1,i] := ADOQuery1.FieldByName('birth').AsString;
> Sgrid.Cells[2,i] := ADOQuery1.FieldByName('address').AsString;
> Sgrid.Cells[3,i] := ADOQuery1.FieldByName('phone').AsString;
> ADOQuery1.Next;
> end;
> ADOQuery1.Recordset.Close;
> ADOQuery1.Close;
> end;
>
> -----------------------------------------------------------------
> procedure TForm1.db_access(sql : string);
> begin
> try
> ADOCon.BeginTrans;
>
> ClearGrid;
> //여기서 먼저 AdoQuery1.Close; 나 Active:=false로 먼저 쿼리를 닫아야
//새 쿼리를 받겠지요
> ADOQuery1.sql.Clear;
> ADOQuery1.sql.Add(sql);
> ADOQuery1.ExecSQL;
>
> ADOCon.CommitTrans;
> except
> ADOCon.RollbackTrans;
> showmessage('데이터 베이스 접근에 실패 하였습니다.');
> end;
> db_refresh;
> end;
>
> 위와같이 작성하였습니다.
> ADOConnection과 ADOQuery를 사용하였고.
> BDE에서 사용하던것을 그대로 ADO로 옮겨서 사용 하였습니다.
> BDE에서는 아무런 문제도 나지 않는데 ADO에서 db_access를 실행하면
> 자꾸 에러가 납니다. 도와 주십시오.
> db_refresh할때는 전혀 에러가 안나는데 ADOQuery1.ExecSQL 에서
> 에러가 납니다.