PDA

Просмотр полной версии : Ошибка при втором проходе



iva2185
13.05.2011, 09:39
Приложение на Delphi 6.
Таблица NewDbf типа TwwTable динамически создается и заполняется. Без проблем.
Однако при втором проходе на wwQuery1.ExecSQL вылетает ошибка "Table is busy". Почему?


SavedMrsh := SaveDialog2.FileName;
If NewDbf <> nil then begin
if NewDbf.Active then begin
NewDbf.Close;
end;
end;
wwQuery1.Close;
wwQuery1.SQL.Clear;
wwQuery1.SQL.Text := 'Drop TABLE "' + SavedMrsh + '"';
wwQuery1.ExecSQL; // Здесь ошибка при втором прогоне
NewDbf := TwwTable.Create(Self);

wwQuery1.SQL.Clear;
wwQuery1.SQL.Text := ' Create Table "' + SavedMrsh + '"' +
' (NOM Numeric(6),' +
' SPISOK CHAR(61),' +
' RAION CHAR(37),' +
' LON NUMERIC(10),' +
' LONHEX CHAR(8),' +
' LAT NUMERIC(10),' +
' LATHEX CHAR(8),' +
' NOMER CHAR(6),' +
' KORPUS CHAR(6))';
wwQuery1.ExecSQL;
Спасибо.

WiseSev
13.05.2011, 16:03
Может не хватет чего то типа wwQuery1.Active:=False или wwQuery1.Active:=True...
Если при втором проходе таблица занята, надо ее "отпустить". wwQuery1.Free