#include <stdio.h>
#include <string.h>
#include <mysql.h>
int main()
{
//1、連接服務器
MYSQL mysql;
mysql_init(&mysql);
if (!mysql_real_connect(&mysql,"128.0.47.135","dengjun123","abc123","school",0,NULL,0))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n",
mysql_error(&mysql));
}
mysql_query(&mysql, "set names utf8"); //設置編碼
//2、CRUD操作(增刪改)
char sql[300] = "insert into student (sno, name) values (1008, '馬雲')";
if(mysql_query(&mysql, sql))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n",
mysql_error(&mysql));
}
else
{
printf("添加學生信息成功!\n");
}
//查
strcpy(sql, "select s.sno, s.name, sex, phone, c.name, grade from student s, course c, score sc where s.sno=sc.sno and c.cno=sc.cno and c.name='C語言程序設計' and grade>60 order by grade desc, sex desc limit 3");
if(mysql_query(&mysql, sql))//查詢
{
fprintf(stderr, "Failed to select: Error: %s\n",
mysql_error(&mysql));
}
else
{
MYSQL_RES* res = NULL;//從堆區申請空間保存一行查詢內容
res = mysql_store_result(&mysql);
if(res != NULL)
{
MYSQL_ROW row;
unsigned int num_fields;//一行由多個字段組成
unsigned int i;
num_fields = mysql_num_fields(res);
while ((row = mysql_fetch_row(res)))//依次輸出每行
{
for(i = 0; i < num_fields; i++)
{
printf("%s ", row[i]);//依次輸出每行的每個字段(列)
}
printf("\n");
}
mysql_free_result(res);//釋放堆區空間
}
else
{
//失敗
printf("show failed\n");
}
}
//3、關閉
mysql_close(&mysql);
return 0;
}
C語言調用數據庫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.