Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Informix Новый топик    Ответить
 Народ помогите привести поле datetime year to second в строку  [new]
Peskovatskov Denis
Member

Откуда:
Сообщений: 2
кусок программы
  struct sqlvar_struct *col;
  static _FetchSpec _FS0 = { 0, 1, 0 };
  SQLI_fetch(SQLI_locate_curs(name, 768), (ifx_sqlda_t *) 0, udesc, (char *) 0, &_FS0);

  int i, getint;
  for (col=udesc->sqlvar, i = 0; i < udesc->sqld; col++, i++)
  {
     byfill(field,FLDSIZE+1,0);
     fieldp = field;
     switch (col->sqltype)
     {
        case CINTTYPE:
             getint=(int) *((int *) (col->sqldata));
             getint==-2147483648?sprintf(field,"NULL"):sprintf(field,"%d",getint);
             break;
        case SQLDTIME:   // fixme
                         // пока пропускаем
             dttoasc((dtime_t *) col->sqldata, field);
             break;
        default:
             sprintf(fieldp,"Usupported data type");
             break;
     }
     printf("%d\t[%s]\n",col->sqltype,fieldp);
  }
Делаю такой запрос:
select first 1 nmbr, d_t from price_mode //nmbr-SERIAL, d_t-DATETIME YEAR TO SECOND
реальное содержание полей
nmbr 1
d_t  2003-11-13 18:17:14
А программа выдает
102     [1]
10      [-52-+( (0]
19 янв 06, 09:55    [2268152]     Ответить | Цитировать Сообщить модератору
 Re: Народ помогите привести поле datetime year to second в строку  [new]
win-kim
Member

Откуда: Астана
Сообщений: 60
Peskovatskov Denis
кусок программы
  struct sqlvar_struct *col;
  static _FetchSpec _FS0 = { 0, 1, 0 };
  SQLI_fetch(SQLI_locate_curs(name, 768), (ifx_sqlda_t *) 0, udesc, (char *) 0, &_FS0);

  int i, getint;
  for (col=udesc->sqlvar, i = 0; i < udesc->sqld; col++, i++)
  {
     byfill(field,FLDSIZE+1,0);
     fieldp = field;
     switch (col->sqltype)
     {
        case CINTTYPE:
             getint=(int) *((int *) (col->sqldata));
             getint==-2147483648?sprintf(field,"NULL"):sprintf(field,"%d",getint);
             break;
        case SQLDTIME:   // fixme
                         // пока пропускаем
             dttoasc((dtime_t *) col->sqldata, field);
             break;
        default:
             sprintf(fieldp,"Usupported data type");
             break;
     }
     printf("%d\t[%s]\n",col->sqltype,fieldp);
  }
Делаю такой запрос:
select first 1 nmbr, d_t from price_mode //nmbr-SERIAL, d_t-DATETIME YEAR TO SECOND
реальное содержание полей
nmbr 1
d_t  2003-11-13 18:17:14
А программа выдает
102     [1]
10      [-52-+( (0]



Я думаю такие вопросы целесообразней задавать на форуме по программированию на C++ Builder
20 янв 06, 14:54    [2273579]     Ответить | Цитировать Сообщить модератору
 Re: Народ помогите привести поле datetime year to second в строку  [new]
Peskovatskov Denis
Member

Откуда:
Сообщений: 2
win-kim

Я думаю такие вопросы целесообразней задавать на форуме по программированию на C++ Builder


А я так не думаю.
линукс, g++, Informix CSDK => БилдерС++ рядом не лежал.
Помочь мог тот, кто писал на CSDK на С или EC.
Вопрос снят, сам разобрался.
21 янв 06, 21:27    [2275912]     Ответить | Цитировать Сообщить модератору
Все форумы / Informix Ответить