c mysql添加事务_Mysql C 带事务管理的添删查改

#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

9b8a8a44dd1c74ae49c20a7cd451974e.png\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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值