Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.09;
Скачать: CL | DM;

Вниз

ADO, DBase, индексы   Найти похожие ветки 

 
YuRock ©   (2004-02-10 14:58) [0]

Уважаемые мастера!
Давно не работал с dbf"ками, но вот, к сожалению пришлось...
Взял TADOConnection, TADOTable, в ADOConnection.ConnectionString прописал "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Файлы dBASE"... Все работает, данные получаю.

Но вот пришла проблема с индексами: при попытке удаления индекса получаю сообщение: "[Microsoft][Драйвер ODBC dBase] Ошибка синтаксиса в инструкции DROP TABLE или DROP INDEX".

Делаю так: беру ADOCommand, делаю так:

CommandType := cmdText;
CommandText := "DROP INDEX "Table.dbf".IDX_NAME";
Execute;

На Execute выскакивает выше описанная ошибка. Не подскажете, в чем может быть проблема?


 
YuRock ©   (2004-02-10 15:35) [1]

Если ни у кого идей нет - то и не нужно себя утруждать. Спасибо.

Я тут нашел компонент TDBF, и он помог (его возможностей мне хватит).


 
sniknik ©   (2004-02-10 15:53) [2]

правильно не утруждайся, и синтаксис команд тоже читать не нужно, и хелп стирай сразу после установки любой программы.

Синтаксис
DROP {TABLE таблица | INDEX индекс ON таблица | PROCEDURE процедура | VIEW представление}

похоже на твое?


 
YuRock ©   (2004-02-10 16:09) [3]

> sniknik © (10.02.04 15:53) [2]

Синтаксис (из хелпа):
DROP INDEX table_reference.index_reference | PRIMARY

Пример (из хелпа):
DROP INDEX "Employee.dbf".Namex

похоже на твое? Не надо путать DROP с CREATE!


 
sniknik ©   (2004-02-10 16:31) [4]

ну так ты же не LOCAL SQL пользуешся! у тебя ADO - Файлы dBASE (драйвер ODBC или Jet в зависимости от апгрейда/системы)

смотри в другом хелпе, JETSQL40.CHM с поставкой MS офиса идет (поиши у себя на машине)


 
sniknik ©   (2004-02-10 16:33) [5]

проверь, вместо
"DROP INDEX "Table.dbf".IDX_NAME";
это
"DROP INDEX IDX_NAME ON Table";


 
sniknik ©   (2004-02-10 16:37) [6]

хотя если таблица у тебя именно так и называется (зарезервированное слово) то надо так
"DROP INDEX IDX_NAME ON [Table]";


 
YuRock ©   (2004-02-10 16:48) [7]

Спасибо, заработало (правда, не полностью), но в моем случае действительно легче и быстрее использовать TDBF, а то я смотрю, тут мне уникальный индекс делать прийдется...
В общем, извиняюсь за беспокойство, еще раз спасибо.



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

Текущий архив: 2004.03.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
3-25680
КомофОнСамый
2004-02-10 19:34
2004.03.09
перетаскивание TitleButtion в RxLib


14-25903
Alex Konshin
2004-02-16 09:19
2004.03.09
Атака клонов


14-25865
svin666
2004-02-16 15:56
2004.03.09
Цены за работу


14-25881
Vitally
2004-02-16 03:48
2004.03.09
try...except и if then использовать надо


3-25720
Александр
2004-02-11 12:56
2004.03.09
Выполнение процедуры без клиента