Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Ошибка Ado-FoxPro


Автор: tigger 19.8.2005, 12:35
FoxPro Ado
Может кто подскажет в чем дело:

пытаюсь добавить новую сроку в таблицу состоящую из одного текстового столбца


Код

//через таблицу
procedure TForm1.Button1Click(Sender: TObject);
begin
adt.Append;
adtname.Value:=edit1.Text;
adt.Post;
end;


Код

//или через запрос
procedure TForm1.Button2Click(Sender: TObject);
begin
adq.SQL.Clear;
adq.sql.Add('INSERT INTO table (name) values ("'+edit1.Text+'")');
adq.ExecSQL;
end;


в XP все идет нормально, переношу приложение в W98 выдает ошибку и строку не добавляет. После установки FoxPro 8 в W98 все работает, что добавляется при установке FoxPro 8 в W98 что все работает.

Автор: SergeBS 19.8.2005, 15:22
Добавляется - ничего. Обновляется версия MDAC, в которой и лежит провайдер ADO и прочего. V 2.8 весит 5.4 Мб. Поменьше, чем Лис smile.[/size][size=6]

Автор: tigger 19.8.2005, 16:08
В том то и дело что после установки самого провайдера vfpoledb ошибка не уходит, дай ссылку на v. 2.8

Автор: tigger 22.8.2005, 10:48
Установил MDAC все равно ошибка не уходит не могу добавить записи. В чем дело???

Автор: bursa 22.8.2005, 11:46
Цитата(tigger @ 19.8.2005, 12:35)
("'+edit1.Text+'")'

По-видимому, в кавычках дело. Поменяй " на апострофы

Автор: SergeBS 22.8.2005, 15:54
tigger
Поставь IE 5.5. Он тебе обновит comctrl и прочие интерфейсные штуки. Но вообще удивительно. Я на W95 ставил IE 5.5, затем MDAC 2.7 и получал все как надо. До установки IE не поставить было MDAC.
Да, чтобы вдруг не обознаться:
Microsoft Data Access Components (MDAC)

И еще - а у тебя уникальное поле есть? И что за ошибка не пойму.
У тебя
"После установки FoxPro 8 в W98 все работает, что добавляется при установке FoxPro 8 в W98 что все работает. "
А потом какой-то
"В том то и дело что после установки самого провайдера vfpoledb ошибка не уходит"

Кинь DBnavigator и попробуй добавить им.
И вообще сходи на delphikingdom и прочитай там статью про ADO (в 3 частях).


Добавлено @ 16:02
Блин, проглядел smile
"пытаюсь добавить новую сроку в таблицу состоящую из одного текстового столбца"

Бегом читать статью! ADO не может работать без уникального ключевого поля. (короче primary key нужен). Если ручками норовишь впихнуть.
И ругается небось "Не могу найти запись для обновления".
Не говоря уж о том, что никакого смысла таблица из 1 текстового поля иметь не может.





Автор: Cashey 23.8.2005, 20:36
Цитата(tigger @ 19.8.2005, 12:35)
переношу приложение в W98 выдает ошибку и строку не добавляет

как звучит ошибка?

Автор: Гость_Андрей 18.10.2005, 14:24
Как доступиться к базе данных Visual FoxPro (dbc-контейнер и dbf-файлы)через ADO?

Автор: tigger 22.10.2005, 03:40
1. Берешь компанет AdoConnect в нем прописываешь (или мастером строишь)строку соединения ConnectString
2. Кидаешь на форму AdoDataset в котором указываешь на AdoConnect
3. Кидаешь DataSource1 в котором указываешь на AdoDataset
4. Ложишь на форму DBGrid в котором указываешь в поле DataSource на DataSource1
5. В AdoConnect Active переводишь в true

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)