![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Доступ к полям таблицы [Oracle]
Сергей. © (2002-07-31 14:02:00)Подскажите пожалуйста как получить доступ к данным в
таблице Oracle к полям с типом Decimal (тип в TField
ftBCD ) ?
Val (2002-08-01 12:03:00) [1]угу, почему тип такой, странно.
попробуйте преобразовать поле к TFloatField(Fields[np]).Value,например.
Сергей. (2002-08-01 09:16:00) [2]сразу извиняюсь - пишу на С в ВСВ 5.0
if ( !ADOQuery1->Eof ) {
for( l = 0; l < ADOQuery1->FieldCount; l++ )
Memo1->Lines->Add( ADOQuery1->Fields->Fields[l]->FieldName
+ " = " + getVolPole( ADOQuery1, l ));
}
AnsiString __fastcall TForm1::getVolPole( TADOQuery *q, int np )
{
AnsiString s("");
if ( np < q->FieldCount ) {
switch ( q->Fields->Fields[np]->DataType ) {
case ftString : // Character or string field
s = q->Fields->Fields[np]->AsString;
break;
case ftInteger : // 32-bit integer field
s = q->Fields->Fields[np]->AsInteger;
break;
case ftDateTime : // Date and time field
s = q->Fields->Fields[np]->AsDateTime;
break;
case ftBCD : // Binary-Coded Decimal field
s = q->Fields->Fields[np]->Value;
//-- Как получить значение поля ????
break;
default :
s = q->Fields->Fields[np]->Value;
}
}
return s;
}
Johnmen (2002-07-31 15:48:00) [3]Нужны подробности...Где видно "возвращает 0" ? Код ?...
Сергей. (2002-07-31 15:39:00) [4]TField->Value возвращает 0, хотя поле имеет значение отличное
от 0; свойства, позволяющего получить значение поля с этим типом
нет. SQL Explorer показывает все поля корректно. И все свойства
возвращают 0 ( AsInteger и др. ). я пробовал.
Johnmen (2002-07-31 14:38:00) [5]А в чем проблема ? И почему ftBCD, а не ftFloat ?