Re: Проблема
От: vav Россия  
Дата: 30.07.02 11:42
Оценка:
Здравствуйте -Dm-, Вы писали:

D>проблема с ADO + MS SQL под Windows XP ( в win95,win98,win 2000 все нормально) выдает ошибку при закрытии TADOTable если не вызван метод First().

D>( в Builder C++ 5 )

стандартная проблема — стандартное решение.

procedure TDM1.QueryClose(DataSet: TDataSet);
begin
  if TADOQuery(DataSet).Active then
  TADOQuery(DataSet).Recordset.Close;
end;

procedure TDM1.DataModuleCreate(Sender: TObject);
var
  i:integer;
begin
  for i := 0 to ComponentCount-1 do
  if Components[i] is TADOQuery then TADOQuery(Components[i]).BeforeClose := DM1.QueryClose;
end;

procedure TDM1.DataModuleDestroy(Sender: TObject);
var
  i:integer;
begin
  for i := 0 to ComponentCount-1 do
  if Components[i] is TADOQuery then
  if TADOQuery(Components[i]).Active then
  TADOQuery(Components[i]).Recordset.Close;
end;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.