Главная страница
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.021 c
3-25720
Александр
2004-02-11 12:56
2004.03.09
Выполнение процедуры без клиента


14-25932
alexsys
2004-02-14 08:54
2004.03.09
С праздником!


14-25890
Andryk
2004-02-16 11:49
2004.03.09
Пора учить китайский, а не английский :о)))


11-25723
Dimaxx
2003-06-21 01:19
2004.03.09
Как сделать немодальную форму типа Lister у WindowsCommander а?


6-25850
LOX
2003-12-29 18:24
2004.03.09
IP в доменное имя