前面讨论静态和实例的函数的性能问题,今天又有一个疑惑,希望大家指教
去网上搜了一个静态函数,如下:
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(狂图)
只要不涉及到静态变量 那么没有问题
-------------------
我也觉得是这样