Вниз
Скачать: CL | DM;

Can t modify field   Найти похожие ветки 

← →
Tommy   (2008-05-23 12:23) [0]

Привет всем!
Работаю с postgresql через ADO&ODBC.
Почему когда

 Adoquery1.SQL.Clear;
 Adoquery1.SQL.Add("select * from personaldata, system, professions, departments
where
perddepartmentid=departid and
perdprofessionid=profid and
perdsystem=systemid
order by perdlastname");
 Adoquery1.Open;
 Adoquery1.Edit;
 Adoquery1.FieldByName("perdname").AsString := "Hello";
 Adoquery1.post;
 Adoquery1.Close;

выдает сообщение
"Can"t modify field perdname"

а вот когда

 Adoquery1.SQL.Clear;
 Adoquery1.SQL.Add("select * from personaldata");
 Adoquery1.Open;
 Adoquery1.Edit;
 Adoquery1.FieldByName("perdname").AsString := "Hello";
 Adoquery1.post;
 Adoquery1.Close;

все работает нормально???


← →
Reindeer Moss Eater ©   (2008-05-23 12:26) [1]

потому что в первом случае адо без понятия какую таблицу апдейтить


← →
Tommy   (2008-05-23 12:37) [2]

а как сделать чтоб имел понятие?


← →
Reindeer Moss Eater ©   (2008-05-23 12:39) [3]

а ты на второй случай посмотри


← →
Tommy   (2008-05-23 12:42) [4]

ну а если нужно работать со всеми таблицами одновременно? То есть хочу изменять поля с разных таблиц...


← →
Anatoly Podgoretsky ©   (2008-05-23 12:45) [5]

> Tommy  (23.05.2008 12:42:04)  [4]

Ты наверно не знаешь, что кроме SELECT еще есть и INSERT/UPDATE и транзакции.


← →
Reindeer Moss Eater ©   (2008-05-23 12:49) [6]

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


← →
Tommy   (2008-05-23 12:55) [7]

А что делать если с этим ADOQuery связан DBEDIT.... в случае сложного query, DBEdit даже не активен, то есть не дает ничего писать!


← →
Reindeer Moss Eater ©   (2008-05-23 12:57) [8]

чо, все по новой расжевывать?


← →
Tommy   (2008-05-23 13:14) [9]

Да нет, ненадо... спасибо большое за совет :)


← →
sniknik ©   (2008-05-23 16:09) [10]

> был бы в делфийском адо механизм cached updates - было бы можно и в первом случае
он там есть.

там вообще много всего есть... имхо, самые многофункциональные компоненты для работы с базами. (если и есть более то я не видел, хотя тестил многое).


← →
Reindeer Moss Eater ©   (2008-05-23 16:11) [11]

а как там это реализовано? я имею ввиду не само адо как таковое, а классы TADO....


← →
sniknik ©   (2008-05-23 16:24) [12]

> а как там это реализовано?
простой настройкой, у датасета ставишь LockType = ltBatchOptimistic и все.

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


← →
Reindeer Moss Eater ©   (2008-05-23 16:38) [13]

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


← →
sniknik ©   (2008-05-23 17:01) [14]

> а я пока только с мсскл не напарывался на косяки.
"косяк"
http://delphimaster.net/view/3-1211454422/



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
1-1204226173
Slimer
2008-02-28 22:16
2008.12.14
Скроллинг в DBGridEh


15-1223750694
Desdechado
2008-10-11 22:44
2008.12.14
Забавное условие в лицензионном соглашении на программу


4-1202219059
Olegz77
2008-02-05 16:44
2008.12.14
Получение изображения рабочего стола


15-1223384856
xayam
2008-10-07 17:07
2008.12.14
Проект Google 10^100


2-1225724398
Vova1995
2008-11-03 17:59
2008.12.14
ListBox




   Наверх