Форум: "Базы";
Текущий архив: 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