Я могу обновить запись в таблице с помощью строковых манипуляций, которые имеют некоторую слабость.
Итак, теперь я пытаюсь обновить параметры, но это не так, как я думал.PostgreSQL, libpq/C, параметры обновления
sprintf(sql, "%s%s%s%s%s%d%s",
"UPDATE ", mytable, " SET ",
"my_id=$0, mystr1=$1, mystr2=$2, myint=$3, mydouble=$4",
"WHERE my_id='", local_my_id, "'");
const char *values[5] =
{local_my_id, local_mystr1, local_mystr2, local_myint, local_mydouble};
result = PQexecParams(conn, sql, 5, NULL, values, NULL, NULL, 0);
Значения 1 и 4 являются целыми числами, а значение 5 является двойным, что не вписывается в массив const char.
Я пробую то же самое со строками, и он работает.
Если мне нужно преобразовать числа в строки, которые не кажутся логичными.
Как это сделать правильно?
я вижу. В этой ситуации libpqtypes кажутся очень привлекательными. Я пытаюсь скомпилировать, но не могу. Здесь есть место для загрузки двоичных файлов Windows этой библиотеки? –
@ user973238 Ах, вы в Windows. Весело. Мне еще не нужно работать с libpqtypes в Windows, поэтому вы сами по себе. Если вы не найдете что-либо после выполнения подходящего поиска, попросите рассказать о списках рассылки или опубликовать новый вопрос SO. –