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