事务在Java与C#中的应用

Java代码:
public boolean useCommit(ArrayList ary){//应用事务进行多表操作
        boolean flag = false;
        
this.getConnection();//连接数据库
        try{
            con.setAutoCommit(
false);//将事务设置为手动提交方式
            Statement st = con.createStatement();
            String sql 
= null;
            
for(int i=0;i<ary.size();i++){
                sql 
= (String)ary.get(i);
                st.executeUpdate(sql);    
            }

            flag 
= true;
            con.commit();
            st.close();
            con.setAutoCommit(
true);
            con.close();
        }
catch(Exception e){
            
try{
                con.rollback();
            }
catch(Exception x){}
        }

        
return flag;
    }

C#代码:
private bool UseCommit(ArrayList ary)
        
{
            SqlConnection con 
= new SqlConnection();
            con.ConnectionString 
= "server=.;uid=sa;database=petDB;";
            con.Open();
            SqlTransaction tran 
= con.BeginTransaction();
            
bool flag = false;
            
try
            
{
                SqlCommand cmd 
= con.CreateCommand();
                cmd.Transaction 
= tran;//把事务附加到Command
                string sql = null;
                
for(int i=0;i<ary.size();i++)
                
{
                    sql 
= (String)ary.get(i);
                    cmd.CommandText 
= sql;
                    cmd.ExecuteNonQuery();
                }

                tran.Commit();
                flag 
= true;
            }

            
catch
            
{
                tran.Rollback();
            }

            
return flag;
        }

posted on 2008-03-02 11:06 非凡DZ 阅读(342) 评论(0)  编辑  收藏 所属分类: J2SE


只有注册用户登录后才能发表评论。


网站导航:
 
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

常用链接

留言簿(2)

随笔分类(19)

随笔档案(19)

友情链接

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜