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

Вниз

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

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

Наверх




Память: 0.46 MB
Время: 0.047 c
1-1107525031
Alexander Makhanev
2005-02-04 16:50
2005.02.20
узнать время неактивности юзера...


1-1107843337
Elast
2005-02-08 09:15
2005.02.20
TEdit+TlistBox+AV


4-1104684139
xAnjel
2005-01-02 19:42
2005.02.20
как по ProcessHandle получить ProcessID


1-1107852445
Ega23
2005-02-08 11:47
2005.02.20
Совместимость DLL для delphi и С++


3-1106048248
Argentum
2005-01-18 14:37
2005.02.20
Как быстро присвоить lookup колонке в TDBGrid значение null





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