Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Вниз

проверка и удаление таблицы   Найти похожие ветки 

 
denis24   (2004-11-09 16:47) [0]

Есть adoquery ,соединение у него connection  на определ базу *.mdb.
Пишу
sql.add("if exists temp DROP TABLE temp")
В ответ "Непраильная инструкция,,,,"
Как проверить существование таблицы и потом удалить?


 
Vlad ©   (2004-11-09 16:55) [1]


> denis24   (09.11.04 16:47)  
>Как проверить существование таблицы и потом удалить?


ADOConnection.GetTableNames;


> if exists temp

а что, разве SQL в аксессе такое позволяет ???


 
Anatoly Podgoretsky ©   (2004-11-09 17:07) [2]

sql.add("DROP TABLE temp")


 
denis24   (2004-11-09 17:17) [3]

Да..нету это я серверным запросом перепутал
ADOConnection.GetTableNames;

пишет "Не удается найти объект в семействе сoответствующий требуемому имени или порядковому номеру"


 
Vlad ©   (2004-11-09 17:33) [4]


> denis24   (09.11.04 17:17) [3]

Покажи код как делаешь?
А вобще, честно говоря проверка на существование таблицы по-моему лишняя. Достаточно корректно обрабатывать исключение.


 
denis24   (2004-11-09 17:42) [5]

да из примера все
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:57) [6]


> denis24   (09.11.04 17:42) [5]

хм.. странно. Ошибка надо понимать вылазит в этой строчке?

> DataModule2.ADOConnection1.GetTableNames (SL, False);


В качестве провайдера Jet используешь или что?


 
denis24   (2004-11-09 18:04) [7]

да
aDOConnection1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ExtractFilePath(Application.ExeName)+"EVA.MDB";


 
SergP ©   (2004-11-10 08:49) [8]

Попробовал вот так:


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;


вроде работает. если нужная таблица есть то оно ее дропает...



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
3-1100087505
Dmitriy O.
2004-11-10 14:51
2004.12.12
Помогите с SQL выборкой !


1-1101646595
Vitiy
2004-11-28 15:56
2004.12.12
Глюк с перегруженными операторами !!!


3-1100590139
dron-s
2004-11-16 10:28
2004.12.12
По строчное выделение в таблице


1-1101457271
Zik
2004-11-26 11:21
2004.12.12
Общие вопросы


1-1101728157
Галинка
2004-11-29 14:35
2004.12.12
Проблемы с QRImage





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский