二次开发中,常常会调用平台事务保存数据,今天整理了标准格式的度量平台数据保存或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
时间: 2024-10-27 12:12:50