![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
проверка и удаление таблицы [D6, access]
denis24 © (2004-11-09 16:47:00)Есть adoquery ,соединение у него connection на определ базу *.mdb.
Пишу
sql.add('if exists temp DROP TABLE temp')
В ответ "Непраильная инструкция,,,,"
Как проверить существование таблицы и потом удалить?
SergP (2004-11-10 08:49:00) [1]Попробовал вот так:
procedure TForm1.Button1Click(Sender: TObject);
var
sl:TStrings;
begin
SL := TStringList.Create;
ADOConnection1.Connected:=true;
ADOConnection1.GetTableNames (SL, False);
if sl.IndexOf('temp')>=0 then
ADOConnection1.Execute('drop table temp');
sl.Free;
end;
вроде работает. если нужная таблица есть то оно ее дропает...
denis24 (2004-11-09 18:04:00) [2]да
aDOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'EVA.MDB';
Vlad (2004-11-09 17:57:00) [3]
> denis24 (09.11.04 17:42) [5]
хм.. странно. Ошибка надо понимать вылазит в этой строчке?
> DataModule2.ADOConnection1.GetTableNames (SL, False);
В качестве провайдера Jet используешь или что?
denis24 (2004-11-09 17:42:00) [4]да из примера все
SL := TStringList.Create;
DataModule2.ADOConnection1.Connected:=true;
DataModule2.ADOConnection1.GetTableNames (SL, False);
for index := 0 to (SL.Count - 1) do begin
if sl[index]='temp' then
begin
with DataModule2.ADOQuery2 do
begin
close;
sql.Clear;
sql.add('DROP TABLE temp');
ExecSQL;
end;
end;
end;
sl.Free;
Vlad (2004-11-09 17:33:00) [5]
> denis24 (09.11.04 17:17) [3]
Покажи код как делаешь?
А вобще, честно говоря проверка на существование таблицы по-моему лишняя. Достаточно корректно обрабатывать исключение.
denis24 (2004-11-09 17:17:00) [6]Да..нету это я серверным запросом перепутал
ADOConnection.GetTableNames;
пишет "Не удается найти объект в семействе сoответствующий требуемому имени или порядковому номеру"
Anatoly Podgoretsky (2004-11-09 17:07:00) [7]sql.add('DROP TABLE temp')
Vlad (2004-11-09 16:55:00) [8]
> denis24 (09.11.04 16:47)
>Как проверить существование таблицы и потом удалить?
ADOConnection.GetTableNames;
> if exists temp
а что, разве SQL в аксессе такое позволяет ???