Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Редактирование записи   Найти похожие ветки 

 
juice   (2005-01-21 12:24) [0]

Добрый день. Делаю выборку используя стандартный query. Пробегая и анализируя полученные записи нужно в некоторых из них установить значение некоего поля в 1. Как это сделать не используя SQL ? Сначала надо вызвать Query.Edit,
потом Query.FieldByName("fld01").Value := 1 ? Или в обратном порядке? И нужен ли компонент UpdateSQL ? Извините, просто нет базы и Delphi под рукой и не могу сам попробовать.


 
Vlad ©   (2005-01-21 12:30) [1]


> juice   (21.01.05 12:24)  

Естественно сначала переводим Query в режим редактирования
Query.Edit
Затем изменяем значение поля
Query.FieldByName("fld01").Value := 1
Затем сохраняем изменения в таблице
Query.Post


> И нужен ли компонент UpdateSQL ?

Зависит от того, какая СУБД и что у тебя в Query


 
juice   (2005-01-21 12:38) [2]

Спасибо. Субд Interbase.  

> что у тебя в Query

обычные поля - integer, varchar. Имелось в виду есть ли блоб-поля? Нет, их нет. Т.е. я так понял что UpdateSQl нужен только для блоб-полей?


 
Vlad ©   (2005-01-21 12:45) [3]


> juice   (21.01.05 12:38) [2]


> Т.е. я так понял что UpdateSQl нужен только для блоб-полей?

Причем тут блоб-поля? Я о них даже косвенно не упоминал.
TUpdateSQL + F1, там все подробно написано для чего он нужен.


 
juice   (2005-01-21 13:03) [4]

спасибо


 
msguns ©   (2005-01-21 13:22) [5]

>Vlad ©   (21.01.05 12:30) [1]

Если это нужно для визуализации (например, в гриде рисовать картинки в некоторой колонке в зависимости от значения каких-то полей записи), то не проще ли воспользоваться просто OnGetText датасета с нарисовкой соотвюпиктограммы или чего там надо в OnDrawColumnCell грида ?
Если же надо отредактить в самой таблице БД, то почему нельзя использовать SQL ?

Или я что-то недопонял ?


 
Vlad ©   (2005-01-21 13:30) [6]


> msguns ©   (21.01.05 13:22) [5]

Видимо недопонял :-) Или я тебя недопонимаю...


> не проще ли воспользоваться просто OnGetText датасета с
> нарисовкой соотвюпиктограммы или чего там надо в OnDrawColumnCell
> грида ?

К чему это? :-)
Автору вроде нужно было запись редактировать, и он не знает в каких случаях нужно использовать TUpdateSQL, а в каких можно без него обойтись, да еще про блобы зачем-то вспомнил, короче видать полная каша в голове (если я правильно понял автора).


 
juice   (2005-01-21 14:23) [7]

Да, каша действительно полная. Делаю так:

qClients.Edit;
qClients.FieldByName("idd").AsInteger := 0;
qClients.Post;

Та где пост выдает ошибку - EIBClientError Unsupported feature.

Может причина в :

qClients.UpdateObject = updClients;
updClients.ModifySQL = "update t002 set idkbo=:idkbo where id002=:id002"


Пробовал не устанавливать qClients.UpdateObject - пишет ошибку qClients : cannot modify a read-only dataset


 
Sergey13 ©   (2005-01-21 14:34) [8]

>updClients.ModifySQL = "update t002 set idkbo=:idkbo where id002=:id002"
И где тут поле IDD которое ты меняешь? По твоему запросу можно только idkbo менять.


 
juice   (2005-01-21 14:51) [9]

Сори, там idkbo и стоит - это я на форум не то запостил. У меня так:

qClients.Edit;
qClients.FieldByName("idkbo").AsInteger := 0 ;        qClients.Post;


 
Sergey13 ©   (2005-01-21 15:02) [10]

А с клиентами у тебя все нормально? Сервер какой и клиент?
EIBClientError - вроде не программа выдает, а клиент. Может тут нестыковка какая идет?



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

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

Наверх




Память: 0.46 MB
Время: 0.045 c
14-1106797450
Думкин
2005-01-27 06:44
2005.02.20
С днем рождения! 27 января


4-1104825364
Tomkat
2005-01-04 10:56
2005.02.20
Получить группу текущего пользователя


11-1091408975
Sormy
2004-08-02 05:09
2005.02.20
Как быстро разбить большой файл на много маленьких?


1-1107418107
Arbiter
2005-02-03 11:08
2005.02.20
TComponent, а как "детей" определить?


4-1105019957
microprogs
2005-01-06 16:59
2005.02.20
Процедура - прерывание... (Как в ДОСе)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский