我是postgresql中的新手,並試圖用PQexecparams在db中插入值。當我綁定在值陣列中的兩個參數,它完美的作品,但是當我移動到三個它顯示了一個錯誤 「INSERT失敗:無法分配輸出緩衝存儲器」 這裏是我的代碼:PQexecparams - 不支持綁定數組中的第三個參數
void InsertBinaryRec(PGconn *conn, double *valueX, char *nameString, double *valueY)
{
int paramLengths[10];
int paramFormats[3] = { 1, 0, 1 };
const char* values[3] = {(const char *) valueX, nameString, (const char *) valueY };
cout << "ya phr gya????" << endl;
paramLengths[3] = 10 ;
PGresult *res = PQexecParams(conn,
"INSERT INTO testData (X, NAME, Y) VALUES ($1::bytea, $2::TEXT, $3::bytea)",
3,
NULL,
values,
paramLengths,
paramFormats,
3);
if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, "INSERT failed: %s\n", PQerrorMessage(conn));
PQclear(res);
CloseConn(conn);
}
cout << "Insert testData record - OK\n";
PQclear(res);
}
數據庫字段真的是'bytea'嗎? –
是的,我已經設置它bytea –