Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.14;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.018 c
2-1225959856
Hmelmoi
2008-11-06 11:24
2008.12.14
Помогите решить задачу


6-1196592064
Fixi4eeG
2007-12-02 13:41
2008.12.14
Отправка данных методом POST через IdHTTP


2-1225707879
FatBoySlim
2008-11-03 13:24
2008.12.14
Как передать в MySQL в качестве параметра текст SQL запроса?


15-1223448178
Alkid
2008-10-08 10:42
2008.12.14
Софт для билд-сервера


15-1223560915
Tricky_
2008-10-09 18:01
2008.12.14
Биоритмы