Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.135.207.129] |
|
Данный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Блин! Полтра часа трахаюсь! Народ, помогите, плиз!
Пользую dbExpress для доступа к ORACLE`у, у меня 2 SimpleDataSet`а, один - таблица, другой - запрос. В таблице есть рассчитываемые поля, запрос - для наполнения одного из этих полей. Вот код: procedure TdmCards.sdsCardsCalcFields(DataSet: TDataSet); begin // sdsCardsOWNER.AsString := sdsCardsLASTNAME.AsString + ' ' + sdsCardsFIRSTNAME.AsString + ' ' + sdsCardsSECONDNAME.AsString; // sdsProgramNameByID.DataSet.Params[0].Value := sdsCardsPROGRAM_ID.Value; sdsProgramNameByID.Open; sdsCardsPROGRAM_NAME.AsInteger := sdsProgramNameByID.Fields[0].AsInteger; sdsProgramNameByID.Close; end; Зеначения идут 100\% правильные - проверял, т.е. существует запись с ID = sdsCardsPROGRAM_ID. В зависимости от того как я настраиваю TParam и применяю ли я Value или AsInteger вылетают следующие ошибки: 1) List index out of bounds (дельфовая) - это если вообще запрос без параметров. 2) Неверное число (оракловая) 3) тоже что-то про число (дельфовая) :'( Помогите, кто чем может! |
Сообщ.
#2
,
|
|
|
Корень зла найден!!! ;D
Параметры нужно делать типом ptString и передавать все цифры oracle`у в стринге. О как! ;D |