Есть ли способ непосредственного отображения содержимого запроса в Mysql с помощью C?
Что я имею в виду:
через оболочку mysql, если я наберу: SELECT * FROM table_name; Я получаю результат запроса в аккуратном и отформатированном виде.
Если я хочу сделать то же самое, используя Api C, мне нужно написать несколько строк кодов, и конечный результат далеко не хорош (по крайней мере, это мой личный опыт) * 1005 *
Например:
void display_Table1(MYSQL *conn)
{
int jj,ii;
char query[512];
sprintf(query, "SELECT * FROM Table1 ;");
if (mysql_query (conn, query)) {
printf("\nErrore query:\n");
printf("%s", mysql_error(conn),"\n");
result = mysql_store_result(conn);
if (result) {
num_rows = mysql_num_rows(result);
num_fields =mysql_num_fields(result);
//printf("Number of rows=%u Number of fields=%d \n", num_rows,num_fields);
//printf(" ");
}
else
{
printf("Result set is empty");
}
// Print column headers
fields = mysql_fetch_fields(result);
for(jj=0; jj < num_fields; jj++)
{
printf("\n%s\t\t",fields[jj].name);
}
printf("\n\t ");
// print query results
while(row = mysql_fetch_row(result)) // row pointer in the result set
{
for(ii=0; ii < num_fields; ii++)
{
printf("%s\t", row[ii] ? row[ii] : "NULL"); // Not NULL then print
}
printf("\n");
}
if(result)
{
mysql_free_result(result);
result = NULL;
}
}
}
Это сложная проблема для решения. Я получаю заголовки один за другим по вертикали.
Я также получаю Commands out of sync; you can't run this command now
Может ли кто-нибудь мне помочь?