今天寫的例子,只貼**,不使用文字說明.
mysqltool.h
#include
<
stdio.h
>
#include
<
stdlib.h
>
#include
<
winsock.h
>
#include
<
mysql.h
>
intxinsert(mysql
*mysql,
char
*strsql)
else
return0;
}int
xupate(mysql
*mysql,
char
*strsql)
else
return0;
}int
xdelete(mysql
*mysql,
char
*strsql)
else
return0;
} one.c **如下:
#include
<
stdlib.h
>
#include
<
winsock.h
>
#include
<
mysql.h
>
#include
<
stdio.h
>
#include
<
mysqltool.h
>
intmain()
else
printf(
"connected/n");
query="
set character set gbk";
//設定編碼 t=
mysql_real_query(
&mysql,query,(unsigned
int)strlen(query));
if(t)
query="
select * from demo ";
t=mysql_real_query(
&mysql,query,(unsigned
int)strlen(query));
if(t)
else
printf(
"[%s] 構建成功 /n
",query);
res=
mysql_store_result(
&mysql);
while
(row
=mysql_fetch_row(res))
printf("/n
");}mysql_free_result(res);t=
mysql_real_query(
&mysql,
"set autocommit =0
",(unsigned
int)strlen(
"set autocommit =0
"));
if(t)
elset=
mysql_real_query(
&mysql,
"begin ;
",(unsigned
int)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
)else
return
0;
}
Spring事務管理 宣告式事務管理的使用
下面是步驟 圖是引用的,侵刪 接下去是我寫的 xmlns xmlns xsi xmlns context xmlns aop xmlns tx xsi schemalocation spring beans.xsd spring context.xsd spring tx.xsd spring ao...
spring的事務管理
spring宣告式事務讓我們從複雜的事務處理中得到解脫。使得我們再也無需要去處理獲得連線 關閉連線 事務提交和回滾等這些操作。再也無需要我們在與事務相關的方法中處理大量的try catch finally 我們在使用spring宣告式事務時,有乙個非常重要的概念就是事務屬性。事務屬性通常由事務的傳播...
Hibernate的事務管理
事務就是指作為單個邏輯工作單元執行的一組資料操作,這些操作要麼全部成功,要麼全部失敗,以保證資料的一致性和完整性 事務具有以下acid屬性 a atomic 原子性 事務是由乙個或者多個行為綁在一起組成,好像是乙個單獨的工作單元。原子性確保在事務中的所有操作要麼都發生,要麼不發生。c consist...