首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

|M| 第二贴: ASP.NET 里面进行大批量的数据进行添加的时候要用什么办法啊 急解决方法

2012-01-02 
|M| 第二贴: ASP.NET 里面进行大批量的数据进行添加的时候要用什么办法啊 急原贴:http://community.csdn.n

|M| 第二贴: ASP.NET 里面进行大批量的数据进行添加的时候要用什么办法啊 急
原贴:
http://community.csdn.net/Expert/topic/5702/5702045.xml?temp=.3242151
现在我知道用回滚事物的办法
但要是做成一个类要怎么来做了本来我的是这样的
执行类
public   Execute(sql)
{
    ...
    cmd.CommandText   =   sql;    
    cmd.ExecuteNonQuery();
}

btn_OnClick()
{
    for(int   i   =   0;   i   <=   ddluser.Items.Count   -   1;   i++)
    {
            Execute( "insert   .... ")
    }
}
                               
但是这样要做成有那个整个回滚的话这些类就不知道要怎么来写才方便调用了
大家看一下要怎么写才能实现回滚和我上面这样的调用方法
谢谢



[解决办法]
多条SQL语句并发执行
[解决办法]
修改你的类的方法,加上connection和transactoin参数
[解决办法]
和刚才的代码没什么区别..

[解决办法]
try ->

...btn_OnClick(...
{
Execute();
}


private void Execute()
{
// string connString = ...
using(SqlConnection conn = new SqlConnection(connString)) {
conn.Open();
SqlTransaction trans = conn.BeginTransaction();
try {
for(int i = 0; i <= ddluser.Items.Count - 1; i++)
{
string sql;
// build the sql
// ...
ExecuteInteral(trans, sql);
}
trans.Commit();
}catch(Exception ex){
trans.RollBack();
throw ex;
}
}
}

private void ExecuteInteral(SqlDbTranaction trans, sql)
{
cmd.Transaction = trans;
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}

热点排行