Главная страница
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.016 c
15-1223281509
boriskb
2008-10-06 12:25
2008.12.14
Microsoft признал поражение


15-1223359093
uzer
2008-10-07 09:58
2008.12.14
Как узнать платформу ?


2-1225629295
M
2008-11-02 15:34
2008.12.14
D6 + D7 на одной машине


15-1223484038
tesseract
2008-10-08 20:40
2008.12.14
Пятница - совок - пьянка


2-1225458274
dmitry_12_08_73
2008-10-31 16:04
2008.12.14
Создание файла