关于mysql_close()对mysql_real_connect()的断开连接
风非扉 2017-05-21 05:33:12 int main()
{
int n;
mysql_init(&mysql);
ShowMenu();
scanf_s("%d", &n, 2);
while (n)
{
switch (n)
{
case 1:
ShowAll();
break;
case 2:
AddBook();
break;
case 3:
ModifyBook();
break;
case 4:
DeleteBook();
break;
case 5:
QueryBook();
break;
case 6:
exit(0);
default:break;
}
scanf_s("%d", &n,2);
}
return 0;
}
void ShowAll()
{
if (!mysql_real_connect(&mysql, "localhost", "root", "024519", "db_books", 3306, NULL, 0))
{
printf("\n\tCan not connect db_books\n");
}
else
{
if (mysql_query(&mysql, "select*from tb_book"))
{
printf("\n\tQuery tb_book failde!\n");
}
else
{
result = mysql_store_result(&mysql);
if (mysql_num_rows(result) != NULL)
{
printf("|--------------------------------------------------------------|\n");
printf("| Show All The Books |\n");
printf("|--------------------------------------------------------------|\n");
printf("| ID | BookName | Author | Bookconcern |\n");
printf("|--------------------------------------------------------------|\n");
while ((row = mysql_fetch_row(result)))
{
printf("|%6s|%20s|%14s|%19s|\n",row[0],row[1],row[2],row[3]);
printf("|--------------------------------------------------------------|\n");
}
}
else
{
printf("\n\tNo record!\n");
}
mysql_free_result(result);
}
mysql_close(&mysql);
}
ShowMenu();
}
void ShowMenu()
{
system("cls");
printf("|-----------------------------------------------------|\n");
printf("| Welcome to NCU Books System |\n");
printf("|-----------------------------------------------------|\n");
printf("| 1 - show all books |\n");
printf("| 2 - add book |\n");
printf("| 3 - modify book |\n");
printf("| 4 - delete book |\n");
printf("| 5 - query book |\n");
printf("| 6 - exit |\n");
printf("|-----------------------------------------------------|\n");
printf("\n Enter your choice<1-6>:");
}
程序的一部分,但基本可以代替整个程序,循环只能运行一次,当第二次输入数字选择的时候就会报错,关键问题在mysql_close()断开连接之后再次用mysql_real_connect连接出错,请教大家,谢谢!