#include#include#include#include#includeintmain()
{
MYSQL mysql;//mysql连接MYSQL_RES*res;//这个结构代表返回行的一个查询结果集MYSQL_ROW row;//一个行数据的类型安全(type-safe)的表示char*query;//查询语句intt,r;
mysql_init(&mysql);if(!mysql_real_connect(&mysql,"localhost","lottobar","123456","lottobar",3306,NULL,0))
{
printf("Error connecting to database: %s\n",mysql_error(&mysql));
}elseprintf("Connected
\n");
query="SET CHARACTER SET GBK";//设置编码t=mysql_real_query(&mysql,query,(unsignedint)strlen(query));if(t)
{
printf("编码设置失败\n");
}
query="select * from demo";
t=mysql_real_query(&mysql,query,(unsignedint)strlen(query));if(t)
{
printf("执行查询时出现异常: %s",mysql_error(&mysql));
}elseprintf("[%s] 构建成功 \n",query);
res=mysql_store_result(&mysql);while(row=mysql_fetch_row(res))
{for(t=0;t
{
printf("%s\t",row[t]);
}
printf("\n");
}
mysql_free_result(res);
t=mysql_real_query(&mysql,"SET AUTOCOMMIT =0",(unsignedint)strlen("SET AUTOCOMMIT =0"));if(t){
printf("启用手工事务失败\n");
}else{
printf("启用手工事务成功\n");
}
t=mysql_real_query(&mysql,"Begin ;",(unsignedint)strlen("Begin ;"));
query="insert into demo(name,age)values('老裴','89')";intinset_result=xinsert(&mysql,query);
query="delete from demo where name='老裴'";intdelete_result=xdelete(&mysql,query);
query="update demo set name='裴屋村' where name='ccd' and inc_id=13";intupdate_result=xupate(&mysql,query);
query="insert into demo(inc_id,name,age)values(16,'老裴','89')";//执行会出现异常的语句intfail_result=xinsert(&mysql,query);if(inset_result==0&&delete_result==0&&update_result==0&&fail_result==0){
printf("事务提交\n");
t=mysql_real_query(&mysql,"COMMIT;",(unsignedint)strlen("COMMIT;"));
}else{
printf("事务回滚\n");
t=mysql_real_query(&mysql,"ROLLBACK;",(unsignedint)strlen("ROLLBACK;"));
}return0;
}