我正在使用 libpq 开发一个 postgreSQL 客户端应用程序。gcc 编译它没有错误。但是,当我运行程序时,此功能:
void print_column(PGconn *connection) {
PGresult *id_list;
int row;
// process_query() calls PQexec(), checks for errors, then returns the result
id_list = process_query(connection, "SELECT id FROM customers WHERE state='CA'");
for(row = 0; row < PQntuples(id_list); row++) {
printf("%s\n", PQgetvalue(id_list, row, 0));
// to pause the loop on each rep for debugging
getchar();
}
}
产生错误:
row number 1701734765 is out of range 0..8
Segmentation fault
奇怪的是 for 循环执行前五次重复没有问题。然后它导致第六个分段错误。
我没有发布整个程序,因为它有 1000 多行。任何建议将不胜感激。