Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Can't modify field [D7, postgresql]


Tommy ©   (2008-05-23 12:23:00) 

Привет всем!
Работаю с 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;

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


sniknik   (2008-05-23 17:01:00) [1]

> а я пока только с мсскл не напарывался на косяки.
"косяк"
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1211454422&n=1


Reindeer Moss Eater   (2008-05-23 16:38:00) [2]

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


sniknik   (2008-05-23 16:24:00) [3]

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

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


Reindeer Moss Eater   (2008-05-23 16:11:00) [4]

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


sniknik   (2008-05-23 16:09:00) [5]

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

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


Tommy   (2008-05-23 13:14:00) [6]

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


Reindeer Moss Eater   (2008-05-23 12:57:00) [7]

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


Tommy   (2008-05-23 12:55:00) [8]

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


Reindeer Moss Eater   (2008-05-23 12:49:00) [9]

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


Anatoly Podgoretsky   (2008-05-23 12:45:00) [10]

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

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


Tommy   (2008-05-23 12:42:00) [11]

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


Reindeer Moss Eater   (2008-05-23 12:39:00) [12]

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


Tommy   (2008-05-23 12:37:00) [13]

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


Reindeer Moss Eater   (2008-05-23 12:26:00) [14]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо