日期:2014-05-18  浏览次数:20482 次

这个语句中的事务处理是否得当,值得看看(速战速决,马上给分)
public   static   int   ExecuteNonQuery(SqlTransaction   trans,   CommandType   cmdType,string   cmdText,   params   SqlParameter[]   commandParameters)
                {

                        SqlCommand   cmd   =   new   SqlCommand();

                        PrepareCommand(cmd,   trans.Connection,   trans,   cmdType,   cmdText,   commandParameters);

                        int   val   =   cmd.ExecuteNonQuery();

                        cmd.Parameters.Clear();

                        return   val;

                }
没看到trans.Commit()?

------解决方案--------------------
感觉还可以的啊
只是 cmd.Parameters.Clear();
这个不能用别的语句把cmd整个占用的资源释放掉吗???
------解决方案--------------------
这是petshop4.0中的SqlHelper里的方法吧?有问题?
------解决方案--------------------
也没看到 open()啊 close()呀 最后 trans.conmit()
------解决方案--------------------
这个方法只是将transaction传入到了sqlcommand里,你在具体写代码的时候应该自己建一个tran,调用完方法后自己使用tran.commit()或rollback()方法。
------解决方案--------------------
SqlTransaction trans = new SqlTransaction ()

try
{
trans.begin()

ExecuteNonQuery(SqlTransaction trans, CommandType cmdType,string cmdText, params SqlParameter[] commandParameters)
trans.commit();
}
catch(Exception ex)
{
trans.roolback();
}