c# 一次提交多条sql语句
c#一次性提交n条sql给数据库处理
因为要根据不同的条件循环批量update set 一些 数据,如果直接for next中间execute的话比较耗时,但又不能用存储过程(传值不是很方便),故想到了trans来处理。以下为源码,希望对大家有用
byError Q:302777528 2012-03-20 00:53
public static void executeSqlTran(List<string> sqlList )
{
using (SqlConnection conn = new SqlConnection(ConnectionStringKy))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
try
{
for (int n = 0; n < sqlList.Count; n++)
{
string strsql = sqlList[n].ToString();
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch (System.Data.SqlClient.SqlException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
public static SqlParameter[] GetCachedParameters(string cacheKey)
{
SqlParameter[] parameterArray = (SqlParameter[])parmCache[cacheKey];
if (parameterArray == null)
{
return null;
}
SqlParameter[] parameterArray2 = new SqlParameter[parameterArray.Length];
int index = 0;
{
parameterArray2[index] = (SqlParameter)((ICloneable)parameterArray[index]).Clone();
index++;
}
return "";
}
评论已关闭