日期:2014-05-17 浏览次数:20522 次
sqlhelper:
public SqlTransaction SqlTransaction
{
get { return _SqlTransaction; }
private set { _SqlTransaction = value; }
}
public SqlCommand GetTranSqlCommand(string SqlDBConnectionString)
{
SqlConnection SqlConnection = OpenSqlDBConnection(SqlDBConnectionString);
SqlCommand SqlCommand = null;
SqlCommand = SqlConnection.CreateCommand();
[b]this.SqlTransaction = SqlConnection.BeginTransaction();
SqlCommand.Transaction = this.SqlTransaction;[/b]
Object TimeOut = null;
int SqlCommandTimeOut = 1800;
TimeOut = ConfigurationManager.AppSettings["CommandTimeOut"];
if (TimeOut != null)
{
SqlCommandTimeOut = Convert.ToInt32(TimeOut);
}
SqlCommand.CommandTimeout = SqlCommandTimeOut;
//CloseSqlDBConnection(SqlConnection);
return SqlCommand;
}
private bool TranSqlCommadRollback(SqlCommand SqlCommand)
{
try
{
//注:在.NET 4.0 中,如何执行发生异常之后,SqlCommand.Transaction会变成null。??
//但是此在.NET 1.1中,却是正常的。
SqlCommand.Transaction.Rollback(); 执行
return true;
}
catch (Exception ex)
{
throw ex;
}
finally
{
EndSqlCommad(SqlCommand);
SqlCommand.Connection = null;
SqlCommand = null;
}
}
public bool TranSqlCommadRollback(SqlCommand SqlCommand, SqlTransaction SqlTransaction)
{
try
{
SqlTransaction.Rollback();
return true;
}
catch (Exception ex)
{
throw ex;
}
finally
{
EndSqlCommad(SqlCommand);
SqlCommand.Connection = null;
SqlCommand = null;
}
}
public bool ExecuteNonQuery(SqlCommand SqlCommand, CommandType CommandType, String SqlStringOrSPName, SqlParameter[] paras)
{
bool flag = false;
SqlCommand.CommandType = CommandType;
SqlCommand.CommandText = SqlStringOrSPName;
SqlCommand.Parameters.AddRange(paras);
SqlCommand.ExecuteNonQuery();
SqlCommand.Parameters.Clear();
flag = true;
return flag;
}
功能:
public string SaveReviseInfo(XmlDocument xmldoc)
{
SqlCommand sqlcommand = sqlhelper.GetTranSqlCommand(sqlhelper.SqlDBConnectionString);
try
{
XmlNamespaceManager nsmgr = XmlHelper.GetNamespaceManager_rsz(xmldoc.NameTable);
XmlElement lEm;
XmlNodeList RowNodes;
RowNodes = xmldoc.SelectNodes("//root/ReviseInfo", nsmgr);
string SqlStr = "";
string EditMode = "";
SqlParameter[] paras = null;
for (int i = 0; i < RowNodes.Count; i++)
{
lEm = (XmlElement)RowNodes[i];
//EditMode=0:初始(加载数据库原有资料行) 1:新增 2:修改 3:删除
EditMode = lEm.GetAttribute("EditMode");
if (EditMode =