powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / получить дату из структуры sqlda_t
7 сообщений из 7, страница 1 из 1
получить дату из структуры sqlda_t
    #40101270
anixant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Я новичок и хочу попросить вас о помощи. Я пытаюсь получить дату из структуры sqlda_t с помощью C. Снова и снова я получаю не правильную дату - 2000-01-10, хотя указан запрос 2021-10-02.

Не могли бы вы подсказать, в чем проблема?

EXEC SQL BEGIN DECLARE SECTION;
char query[1024] = "select '2021-10-02'::date";
char colname[1024];
EXEC SQL END DECLARE SECTION;

// Connect to DB
EXEC SQL CONNECT TO test_db;

EXEC SQL PREPARE stmt FROM :query;
EXEC SQL DECLARE cur CURSOR FOR stmt;

EXEC SQL OPEN cur;

EXEC SQL FETCH NEXT FROM cur INTO DESCRIPTOR sqlda_d;

int i;
for (i=0 ; i < sqlda_d->sqld ; i++)
{
sqlvar_t v = sqlda_d->sqlvar[i];

strncpy( colname, v.sqlname.data, v.sqlname.length );
colname[v.sqlname.length] = '\0';

printf("\n");
printf("Type='%d'\n", v.sqltype );
printf("NLength='%d'\n", v.sqlname.length );
printf("Name='%s'\n", colname );

switch( v.sqltype )
{
case ECPGt_date:

printf("length von v.sqldate : %u Bytes\n", v.sqllen);

printf("DATE von SQLDA: PGTYPESdate_to_asc '%s'\n", PGTYPESdate_to_asc( *(char*)(v.sqldata)));

break;
}
printf("\n");
}
EXEC SQL CLOSE cur;
EXEC SQL COMMIT;
EXEC SQL DISCONNECT ALL;
...
Рейтинг: 0 / 0
получить дату из структуры sqlda_t
    #40101323
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не к тому типу ты привёл аргумент PGTYPESdate_to_asc.
...
Рейтинг: 0 / 0
получить дату из структуры sqlda_t
    #40101330
anixant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, как правильно ?
...
Рейтинг: 0 / 0
получить дату из структуры sqlda_t
    #40101488
anixant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, как правильно ?
...
Рейтинг: 0 / 0
получить дату из структуры sqlda_t
    #40101525
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласно документации, в функцию PGTYPESdate_to_asc() надо передавать значение типа date, а не char.
...
Рейтинг: 0 / 0
получить дату из структуры sqlda_t
    #40102444
anixant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Спасибо вам огромное! Даже не ожидал, что решение так просто!
...
Рейтинг: 0 / 0
получить дату из структуры sqlda_t
    #40102693
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, сколько нам открытий чудных готовит документации нечтенья дух...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / получить дату из структуры sqlda_t
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]