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

Вниз

Добавить поле в DBF, используя ADO   Найти похожие ветки 

 
Витёк   (2005-02-15 03:42) [0]

Здравствуйте, Мастера.

Есть задача - сабж и есть такой код


procedure TForm1.Button1Click(Sender: TObject);
begin
 ADOCommand1.ConnectionString := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=с:\db;Extended Properties=dBASE IV";
 ADOCommand1.CommandType := cmdText;
 ADOCommand1.CommandText := "ALTER TABLE table.dbf ADD COLUMN NewFld text(15)";
 ADOCommand1.Execute;
end;


Поле замечательно добавляется, если в DBF-ке нет записей, а в противном случае выскакивает ошибка "Операция не поддерживается для таблицы, содержащей данные" :(

Какой провайдер мне нужен, чтобы добавлять/удалять поля в непустых таблицах? BDE и сторонние компоненты просьба не предлагать. Код будет перекладываться на VBA

Буду признателен за любую помощь!


 
sniknik ©   (2005-02-15 08:29) [1]

а поменять тип базы нельзя? т.к. у тебя явное несоответствие запросов, говориш BDE не предлагать а сам неявно его используеш.

в сушествуюшем варианте придется тебе изменения структуры делать на пустой таблице, а данные после переливать.
можно использовать
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Visual FoxPro Tables;UID=;SourceDB=с:\db;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"
и
ALTER TABLE table ADD NewFld Char(15)
но боюсь структуру таблицы оно тебе "покорежит" до неузнаваемости. ;)



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
6-1105025356
Surrender1
2005-01-06 18:29
2005.03.13
Как определить имя пользователя подключаемого к моему WEB


14-1108629326
КаПиБаРа
2005-02-17 11:35
2005.03.13
Психологическая разгрузка


14-1108762029
Profi
2005-02-19 00:27
2005.03.13
Глобальный катаклизм


8-1101404974
_PG_
2004-11-25 20:49
2005.03.13
Видео растянуть на панель


14-1108974584
Cosinus
2005-02-21 11:29
2005.03.13
TChart - Invalid Pointer Operation. Достало уже.