Форум: "Базы";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
ВнизИспользование ADODataSet, обновление данных Найти похожие ветки
← →
вп (2006-09-07 09:42) [0]Использую VFP ODBC для доступа к таблицам FoxPro 2.5 for DOS.
Запрос вида select field1, field2, field3,.., fieldN from table в CommandTExt работает на ура, я имею ввиду вызовы методов ADODataSet Edit и Post. Как заставить выполнять редактирование такого вида запрос
select field1, field2, field3/100 as ALIAS_NAME,.., fieldN from table
? Получаю сообщении при вызове метода Post "Поле filed3 не найдено". а нужно именно так отображать данные.
На "Королевстве" нашел статью об использовании АДО, но там такой вариант, кажется, не рассматривается.
Буду признателен.
← →
Sergey13 © (2006-09-07 09:54) [1]С АДО не работал, но можно воспользоваться вычисляемыми полями, т.е. не в запросе делить, а на клиенте.
← →
ANB © (2006-09-07 10:03) [2]
> field3/100
И как ты собираешься это поле редактировать ? Сервер должен знать, что это введенное число надо на 100 умножить ?
К сожалению, ADO сам генерит SQL на изменение данных. Ща придет спец по ADO - может чего подскажет, но я не нашел способа вмешаться в сей процесс.
← →
вп (2006-09-07 11:15) [3]Я не правильно написал имя не найденого поля. Конечно, это НЕ field3, а ALIAS_NAME кАнЭчЪна. Суть в чем: в этом поле сумма в копейках, нужно в грн.коп. Я то в OnGetTExt поля все сделал для необходимого показа. И данные только показываются, редактируется одно поле, не связанное с этим(кроме одного - в одной записи лежат :-) ))). Индексы есть в таблицы. Вроде как и ключевое есть поле...Не, можно через отдельный запрос, но не интересно.Думаю, как-то это обходится. И вроде, как где-то что-то когда-то читал.Но сейчас не найду. Так как с АДО тоже нечасто сталкиваюсь
← →
Sergey13 © (2006-09-07 11:17) [4]> И данные только показываются, редактируется одно поле, не
> связанное с этим
А у остальных ReadOnly выставлено?
← →
вп (2006-09-07 11:30) [5]Нет, грид ReadOnly. по Insert - выставить/снять флаг
← →
Sergey13 © (2006-09-07 11:32) [6]> [5] вп (07.09.06 11:30)
А при чем тут грид? Поставь нередактируемым полям в датасете. Может и поможет.
← →
sniknik © (2006-09-07 11:55) [7]> Я то в OnGetTExt поля все сделал для необходимого показа.
ну значит в OnSetTExt не составит проблемы обратный разбор(вернее "сбор" из текста значение нужному полю) сделать.
кстати зачем оно в запросе тогда? сделай калькулируемое поле в рекордсете, или лучше просто маску полю field3 без всяких вычислений в запросе задать.
← →
вп (2006-09-07 11:59) [8]А как маску в запросе задать ?! Не сталкивался с таким... Вычислить то понятно...
← →
sniknik © (2006-09-07 12:14) [9]> А как маску в запросе задать ?!
ну это только для строки наверное прокатит, т.е. идея в том что полю (в датасете) указать тип строковый тогда оно должно преобразовываться... (вот назад не уверен, но аксесс например должен понять, фохпрошный драйвер возможно нет (в общем не такая уж хорошая идея если подумать ;о))
← →
вп (2006-09-07 13:02) [10]
> кстати зачем оно в запросе тогда? сделай калькулируемое
> поле в рекордсете, или лучше просто маску полю field3 без
> всяких вычислений в запросе задать.
В запросе оно нужно. По нему осуществляется поиск быстрый(DBGridEh.) Это ВАЖНАЯ для отбора информация. Суть в том, чтобы найти в перечне документ по первичному(бумажному).
← →
ANB © (2006-09-07 13:30) [11]
> вп (07.09.06 13:02) [10]
А типа оставить его в запросе родным, а в гриде отображать поделенным никак ?
← →
вп (2006-09-08 12:19) [12]
> ANB © (07.09.06 13:30) [11]
>
> > вп (07.09.06 13:02) [10]
>
> А типа оставить его в запросе родным, а в гриде отображать
> поделенным никак ?
см.
> вп (07.09.06 11:15) [3]
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c