关闭

服务器端二次开发标准事务保存数据

112人阅读 评论(0) 收藏 举报
分类:
            //获取要保存数据表的表结构
            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

转载请注明出处:

撰写人:度量科技www.delit.cn

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:37857次
    • 积分:2494
    • 等级:
    • 排名:第14787名
    • 原创:223篇
    • 转载:2篇
    • 译文:1篇
    • 评论:1条