Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2008.12.14;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.006 c
2-1225965108
Саня
2008-11-06 12:51
2008.12.14
Генерация чисел


15-1223908317
Marcos
2008-10-13 18:31
2008.12.14
аналог радмина


2-1225477915
RichEdit
2008-10-31 21:31
2008.12.14
Из RichEdit в Word


15-1223413605
Дмитрий С
2008-10-08 01:06
2008.12.14
Использовать IE для скачивания файла


15-1223319483
oxffff
2008-10-06 22:58
2008.12.14
Prism - это Delphi .Net для VS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский