#include #include #include #include int main(int argc, char *argv[]) { cp_data_source *ds = NULL; cp_db_connection *conn = NULL; cp_result_set *rs; char *host = "localhost"; int port = 0; char *login = "test"; char *password = "test"; char *db_name = "test"; cp_log_init("test_db_select.log", LOG_LEVEL_DEBUG); cp_db_init(); if (cp_dbms_load_driver("postgres")) { cp_error(CP_DBMS_NO_DRIVER, "can\'t load driver"); goto DONE; } ds = cp_dbms_get_data_source("postgres", host, port, login, password, db_name); if (ds == NULL) { cp_error(CP_DBMS_CONNECTION_FAILURE, "can\'t connect"); goto DONE; } conn = cp_data_source_get_connection(ds); if (conn == NULL) { cp_error(CP_DBMS_CONNECTION_FAILURE, "can\'t connect"); goto DONE; } rs = cp_db_connection_select(conn, "SELECT * FROM translation"); if (rs) { int i; cp_vector *r; cp_result_set_autodispose(rs, 1); while ((r = cp_result_set_next(rs)) != NULL) { for (i = 0; i < rs->field_count; i++) printf(" | %s", cp_string_tocstr(cp_vector_element_at(r, i))); printf(" |\n"); } cp_result_set_destroy(rs); } cp_db_connection_close(conn); DONE: if (conn) cp_db_connection_destroy(conn); if (ds) cp_data_source_destroy(ds); cp_db_shutdown(); cp_log_close(); return 0; }