powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PQexecParams
4 сообщений из 4, страница 1 из 1
PQexecParams
    #32702310
ilejn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не встречался ли кому-нибудь продвинутый пример использования
PQexecParams (как минимум, не предполагающий передачи всех параметров как текстовых)?

Спасибо.

С уважением,
Илья Гольштейн.
...
Рейтинг: 0 / 0
PQexecParams
    #32703360
Carrie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прямо из своего кода.
Код: plaintext
1.
2.
3.
4.
5.
6.
PGresult *res;
const char *paramValues[] = { ts_start, ts_stop, blob };
int paramFormats[] = {  0 ,  0 ,  1  };
int paramLengths[] = {  0 ,  0 , blob_size };

res = PQexecParams(conn, "INSERT INTO traffic_bin (ts_start, ts_stop, ts_dblog, int_version, blb_traffic) VALUES ($1, $2, NOW(), "VERSION", $3);",  3 , NULL, paramValues, paramLengths, paramFormats,  1 );
...
Рейтинг: 0 / 0
PQexecParams
    #32703612
ilejn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CarrieПрямо из своего кода.
Код: plaintext
1.
2.
3.
4.
5.
6.
PGresult *res;
const char *paramValues[] = { ts_start, ts_stop, blob };
int paramFormats[] = {  0 ,  0 ,  1  };
int paramLengths[] = {  0 ,  0 , blob_size };

res = PQexecParams(conn, "INSERT INTO traffic_bin (ts_start, ts_stop, ts_dblog, int_version, blb_traffic) VALUES ($1, $2, NOW(), "VERSION", $3);",  3 , NULL, paramValues, paramLengths, paramFormats,  1 );

Большое спасибо.

Интересное кино - у тебя в передаваемых значениях нет явного указания на то, что blob это blob, да и указатель на массив типов у тебя null. Я думаю, что это работает именно из-за специфики типа. А поместить в базу, скажем, float так можно?

Код: plaintext
1.
2.
3.
4.
float fval;
const char *paramValues[] = { (char*)&fval };
int paramFormats[] = {  1  };
int paramLengths[] = { sizeof(float) };
res = PQexecParams(conn, "INSERT INTO AAA (F1) VALUES ($1)",  1 , NULL, paramValues, paramLengths, paramFormats,  1 );

если F1 имеет тип, скажем, NUMERIC(10,5)

Очень извиняюсь, что задаю такой вопрос вместо того, чтобы попробовать самому, но у меня еще environment не созрел.

Еще раз спасибо.
...
Рейтинг: 0 / 0
PQexecParams
    #32705412
Carrie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятия не имею. Но мне кажется твой код должен сработать: информация о типах по крайней мере здесь ему не нужна.
Вообще, в свое время, когда я писал свой кусок, мне пришлось стягивать исходники постгреса и искать в нем реализацию PQexecParams, чтобы понять как ее юзать. Ну уж очень скудная дока по libpq.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PQexecParams
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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