Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > ADO и Paradox


Автор: Syrex 8.11.2006, 17:24
1. Внесение параметров в ADOQuery с помощью кода!?
2. Покажите код программы для методов Update, Ins, Del. Прога требует от меня обновляемый запрос! Не пойму какой?!

Автор: Rodman 8.11.2006, 17:48
Код

UPDATE TableName SET FIELDNAME1=ПАРАМЕТР1, FIELDNAME2=ПАРАМЕТР2 WHERE FIELDNAME3=ПАРАМЕТР3;


Код

INSERT INTO TableName (FIELDNAME1, FIELDNAME2, FIELDNAME3) VALUES(:ПАРАМЕТР1,:ПАРАМЕТР2,:ПАРАМЕТР3);


Код

DELETE TableName WHERE FIELDNAME1=ПАРАМЕТР1;

Автор: Syrex 8.11.2006, 17:51
пробовал. Выдает ошибку - Надо было использовать обновляемый запрос

Автор: Syrex 9.11.2006, 13:22
up

Автор: Rodman 9.11.2006, 13:36
Цитата(Syrex @  8.11.2006,  17:51 Найти цитируемый пост)
пробовал. Выдает ошибку - Надо было использовать обновляемый запрос 

по подробнее.... что за ошибка и что за запрос???

Автор: Syrex 9.11.2006, 15:54
Вбито ручками
ADOQuery->SQL = "update ADO_OTP set Fam=:Fam1 where Fam=:Fam"
ADOQuery->Parameters:
Item[0]: Fam1 ,"1";
Item[0]: Fam1 ,"Kozlov";

Далее пытась сделать ADOQuery->Active=true;
выдаёт окно:

Автор: pandrew 9.11.2006, 17:06
Цитата(Syrex)
Далее пытась сделать ADOQuery->Active=true;

Так нельзя.
Попробуй ADOQuery->Execute();

Автор: Syrex 10.11.2006, 10:10
А там нет такого

Автор: TaNK 10.11.2006, 10:14
Цитата(pandrew @ 9.11.2006,  17:06)
Цитата(Syrex)
Далее пытась сделать ADOQuery->Active=true;

Так нельзя.
Попробуй ADOQuery->Execute();

есть там такое он имел ввиду другое - 
Код

 ADOQuery1->ExecSQL();

Автор: Rodman 10.11.2006, 11:42
Код

ADOQuery->SQL->Add("update ADO_OTP set Fam=:Fam1 where Fam=:Fam2");
ADOQuery->Parameters->ParamByName("Fam1")->Value="Петров"
ADOQuery->Parameters->ParamByName("Fam2")->Value="Каслоф";
ADOQuery->ExecSQL;




Цитата(pandrew @  9.11.2006,  17:06 Найти цитируемый пост)
ADOQuery->Execute(); 

Какой Execute!!!!


Цитата(Syrex @  9.11.2006,  15:54 Найти цитируемый пост)
ADOQuery->Active=true;

Этоже запрос не на выборку, его безполезно делать Active...



TaNK, правльно научился... через ExecSQL надо...

Автор: TaNK 10.11.2006, 11:57
Стараемся - Rodman!!! smile 

Автор: pandrew 10.11.2006, 14:41
Цитата(Rodman)
Цитата(pandrew)
ADOQuery->Execute(); 

Какой Execute!!!!

 smile Виноват - склероз, но вы идею правильно уловили.

Автор: Syrex 10.11.2006, 15:36
Вот что получается:

Автор: Rodman 10.11.2006, 15:46
Syrex, не понял..

Автор: Syrex 10.11.2006, 16:20
Может кто может прикрепить работающий пример. программа должна работать с базой Paradox7 через ADOQuery.

Автор: pandrew 10.11.2006, 16:50
Цитата(Syrex @  10.11.2006,  15:36 Найти цитируемый пост)
Вот что получается:

Убери Active=false (true) 

Автор: TaNK 10.11.2006, 17:01
Цитата(Syrex @ 10.11.2006,  16:20)
Может кто может прикрепить работающий пример. программа должна работать с базой Paradox7 через ADOQuery.

когда ты добавляешь заврос через Add - Active=true должно быть.....куда же оно будет его тулить то..если=false

Автор: Rodman 10.11.2006, 17:09
Syrex, нажми редактировать предыдущее сообщение и тпм будет "ПРИКРЕПИТЬ ФАЙЛ"...

Автор: Syrex 10.11.2006, 17:12
2Rodman
Я не свой файлик хочу прикрепить, прошу вас прислать рабочий пример.


Автор: Rodman 10.11.2006, 18:35
Ты лучше покажи че у тя есть... а я подправлю.. полностью писать не собираюсь... smile 

Автор: CLIPSA 12.11.2006, 02:17
У меня была похожая проблема с АДО + MySQL. Выдавало про "обновляемый запрос".
Я добавила в таблицу дополнительное ключевое поле (автоинркемент). И всё стало нормально

Код

CREATE TABLE myTable (

ID   AutoIncrement,
PRIMARY KEY (ID )
);


Я код на лету набрала, поэтому могут быть ошибочки. Ну вобщем идея ясна, что нужно добавить ключевое поле при создани таблицы (sql запросом или при помощи специальной программы , я не знаяю при помощи чего вы зоздаёте таблицу)




Автор: Syrex 13.11.2006, 11:11
Таблица у меня Paradox 7. Есть поле Num (type,size,key: +, ,*) - ключевое поле с автоинкрементом.

Код

ADOQuery->SQL->Clear();
ADOQuery->SQL->Add("update ADO_OTP set Fam='Sid' where Fam='Sidorov'");
ADOQuery->ExecSQL();

Автор: Syrex 13.11.2006, 11:44
2 Clipsa Спасибо огромное за совет. То что надо!!!!!!!!

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