二次开发中,常常会调用平台事务保存数据,今天整理了标准格式的度量平台数据保存或SQL执行语句,格式如下:
//获取要保存数据表的表结构
Table table1 = service.GetTableStruct("default", "DELIT_TASK_LIST");
Table table2 = service.GetTableStruct("default", "DELIT_RULES_IN_TASK");
//配置好要在事务中执行的SQL语句
string sql="DELETE FROM DELIT_TASK_LIST WHERE ID='123456'";
//获取数据库
Database db = service.GetDatabase("default");
//创建连接
DbConnection conn = db.CreateConnection();
conn.Open();
//创建事务
DbTransaction tran = conn.BeginTransaction();
//保存数据和执行语句
service.SaveDataTable(db, tran, table1, taskDataTable, null);
service.SaveDataTable(db, tran, table2, dt, null);
int n = service.ExecuteNonQuery(db, tran, sql, null);
try
{
//提交事务。
tran.Commit();
tran.Dispose();
conn.Close();
conn.Dispose();
return true;
}
catch (Exception ex)
{
string errmsg;
tran.Rollback();
if (ex.InnerException != null)
errmsg = ex.InnerException.Message;
else
errmsg = ex.Message;
tran.Dispose();
conn.Close();
conn.Dispose();
return false;
}
因为是服务端事务,如果在事务中执行ExecuteNonQuery,可以得到结果,并且可以根据结果选择提交还是放弃提交数据。
原文地址:http://bbs.delit.cn/thread-313-1-1.html
转载请注明出处:
撰写人:度量科技http://www.delit.cn
转载于:https://blog.51cto.com/delit/1714325