日期:2014-05-20  浏览次数:20463 次

前面讨论静态和实例的函数的性能问题,今天又有一个疑惑,希望大家指教
去网上搜了一个静态函数,如下:
    protected   static   int   ExecuteSqls(string[]   strSQLs)
    {
      SqlConnection   myCn   =   new   SqlConnection(strConn);      
      SqlCommand   myCmd   =   new   SqlCommand();      
      int   j=strSQLs.Length;

      try
      {
        myCn.Open();        
      }
      catch(System.Data.SqlClient.SqlException   e)
      {
        throw   new   Exception(e.Message);
      }
      SqlTransaction   myTrans   =   myCn.BeginTransaction();

      try
      {                      
        myCmd.Connection   =   myCn;        
        myCmd.Transaction   =   myTrans;

        foreach(string   str   in   strSQLs)
        {
          myCmd.CommandText   =   str;
          myCmd.ExecuteNonQuery();
        }
        myTrans.Commit();
        return   0;
      }
      catch(System.Data.SqlClient.SqlException   e)
      {      
        myTrans.Rollback();
        throw   new   Exception(e.Message);
      }
      finally
      {
        myCmd.Dispose();
        myCn.Close();
      }
    }
问题:像静态函数里的事务处理会被准确执行吗?多于多用户它又是如何的?谢谢!!!!!!!!!!!!!!!!!!

------解决方案--------------------
事务是会执行的,跟静态函数应该没有什么关系,就是多用户的时候可能会出现事务等待的状况。。。。。不知道会不会死锁
------解决方案--------------------
没有共享资源,代码没问题,不牵扯多用户同步问题
没有实际的sql,数据库不知道有没有lock的问题
------解决方案--------------------
这个就更复杂了,不知道了,不过可以用压力测试的方法,测试一下,
------解决方案--------------------
关注
------解决方案--------------------
只要不涉及到静态变量 那么没有问题
------解决方案--------------------
alicc(狂图)
只要不涉及到静态变量 那么没有问题
-------------------
我也觉得是这样