#region Verify_Execute
/// <summary>
/// 验证insert、update、delete执行
/// </summary>
/// <param name="tran">事务</param>
/// <param name="retrow">执行返回值</param>
/// <param name="inputmessage">提示信息</param>
/// <param name="errorMessage"></param>
/// <returns>-1执行错误;0执行成功影响行数为零;>0执行成功</returns>
protected int VerifyExecute(IDbTransaction tran, int retrow, string inputmessage,string warningmessage,string EventModel, ref string errorMessage)
{
if (!string.IsNullOrEmpty(errorMessage))
{
this.RollbackTransaction(tran);
return -1;
}
else if (retrow == 0)
{
TSYSLOGDao dao = new TSYSLOGDao();
dao.InsertRecord(new TSYSLOG()
{
EVENTTYPE = "warning",
EVENTCONTENT = warningmessage,
EVENTMODEL = EventModel,
USERID = CommonObjectsDA.USERID
}, ref errorMessage);
return 1;
// errorMessage = inputmessage + ",影响行数为0";
// this.RollbackTransaction(tran);
// return 0;
}
else
{
return retrow;
}
}
/// <summary>
/// 验证insert、update、delete执行
/// </summary>
/// <param name="tran">事务</param>
/// <param name="retrow">执行返回值</param>
/// <param name="inputmessage">提示信息</param>
/// <param name="errorMessage"></param>
/// <returns>-1执行错误;0执行成功影响行数为零;>0执行成功</returns>
protected int VerifyExecute(IDbTransaction tran, int retrow, string inputmessage, ref string errorMessage)
{
if (!string.IsNullOrEmpty(errorMessage))
{
this.RollbackTransaction(tran);
return -1;
}
//else if (retrow == 0)
//{

// errorMessage = inputmessage + ",影响行数为0";
// this.RollbackTransaction(tran);
// return 0;
//}
else
{
return retrow;
}
}
protected int VerifyExecute(IDbTransaction tran, ref string errorMessage)
{
if (!string.IsNullOrEmpty(errorMessage))
{
this.RollbackTransaction(tran);
return -1;
}
else
{
return 0;
}
}
/// <summary>
/// 验证select执行
/// </summary>
/// <param name="tran">事务</param>
/// <param name="retvalue">执行返回值(double、decimal、int、List.Count)</param>
/// <param name="inputmessage">提示信息</param>
/// <param name="_nullable">执行返回值可否为0或null;true可以</param>
/// <param name="errorMessage"></param>
/// <returns>-1执行错误;0返回行数为零;>0返回数据</returns>
protected int VerifyExecute(IDbTransaction tran, decimal retvalue, string inputmessage, bool _nullable, ref string errorMessage)
{
this.nullable = _nullable;
if (!string.IsNullOrEmpty(errorMessage))
{
this.RollbackTransaction(tran);
return -1;
}
else
{
if (!_nullable && retvalue == 0)
{
errorMessage = inputmessage;
this.RollbackTransaction(tran);
return 0;
}
return 1;
}
}

/// <summary>
/// 验证select执行
/// </summary>
/// <param name="tran">事务</param>
/// <param name="retvalue">执行返回值(string)</param>
/// <param name="inputmessage">提示信息</param>
/// <param name="_nullable">执行返回值可否为0或null;true可以</param>
/// <param name="errorMessage"></param>
/// <returns>-1执行错误;0返回行数为零;>0返回数据</returns>
protected int VerifyExecute(IDbTransaction tran, string retvalue, string inputmessage, bool _nullable, ref string errorMessage)
{
this.nullable = _nullable;
if (!string.IsNullOrEmpty(errorMessage))
{
this.RollbackTransaction(tran);
return -1;
}
else
{
if (!_nullable && retvalue == null)
{
errorMessage = inputmessage;
this.RollbackTransaction(tran);
return 0;
}
return 1;
}
}
#endregion

Verify_Execute 验证SQL语句执行结果的更多相关文章

  1. 使用V$SQL_PLAN视图获取曾经执行过的SQL语句执行计划

    通常我们查看SQL语句的执行计划都是通过EXPLAIN PLAN或者AUTOTRACE来完成.但是这些查看方法有一个限制,它们都是人为触发而产生的,无法获得数据库系统中曾经执行过的SQL语句执行计划. ...

  2. html5 webDatabase 存储中sql语句执行可嵌套使用

    html5 webDatabase 存储中sql语句执行可嵌套使用,代码如下: *); data.transaction(function(tx){ tx.executeSql("creat ...

  3. Oracle sql语句执行顺序

    sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...

  4. mysql优化(三)–explain分析sql语句执行效率

    mysql优化(三)–explain分析sql语句执行效率 mushu 发布于 11个月前 (06-04) 分类:Mysql 阅读(651) 评论(0) Explain命令在解决数据库性能上是第一推荐 ...

  5. 统计sql语句执行效率

    --统计sql语句执行效率SELECT (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N ...

  6. SQL语句执行顺寻

    SQL语句执行的时候是有一定顺序的.理解这个顺序对SQL的使用和学习有很大的帮助. 1.from 先选择一个表,或者说源头,构成一个结果集. 2.where 然后用where对结果集进行筛选.筛选出需 ...

  7. EXPLAIN PLAN获取SQL语句执行计划

    一.获取SQL语句执行计划的方式 1. 使用explain plan 将执行计划加载到表plan_table,然后查询该表来获取预估的执行计划 2. 启用执行计划跟踪功能,即autotrace功能 3 ...

  8. Oracle SQL语句执行过程

    前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQ ...

  9. mysql sql语句执行时是否使用索引检查方法

    在日常开发中,使用到的数据表经常都会有索引,这些索引可能是开发人员/DBA建表时创建的,也可能是在使用过程中新增的.合理的使用索引,可以加快数据库查询速度.然而,在实际开发工作中,会出现有些sql语句 ...

随机推荐

  1. 修改input和textarea的placeholder的颜色,限制文本框字数输入

    <style type="text/css"> textarea{ width: 400px; height:400px; resize: none; } .limit ...

  2. sql的基础用法

    # sql 对大小写不敏感 # 查询表中的所有信息 select * from `Customers`; # 查询指定字段 CustomerName,Country select CustomerNa ...

  3. 变量类型-Tuple

    教程:一:元组的创建        元组(tuple)与列表类似,不同之处在于元组的元素不能修改    (1)tuple写在圆括号之间,元素用逗号隔开    (2)元组元素的类型可以不同    (3) ...

  4. The POM for cn.e3mall:e3mall-common:jar:0.0.1-SNAPSHOT is missing, no dependency information available

    [WARNING] The POM for cn.e3mall:e3mall-common:jar:0.0.1-SNAPSHOT is missing, no dependency informati ...

  5. OO第二次阶段性总结

    前两次作业我都无效了……用了很久时间但还是没能弄明白多线程的写法,以后还是要学会即时的多问问会的同学吧…… 以及我的Mertrics在挣扎很久之后还是用不了……跪了 第七次作业 第七次作业能够完成的原 ...

  6. oracle_创建表空间_临时表空间_修改表空间_以及自增长

    管理员用户登录oracle数据库 [oracle@DBORACLE ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on ...

  7. 2018-2019-2 20165317《网络对抗技术》Exp1 PC平台逆向破解

    2018-2019-2 20165317<网络对抗技术>Exp1 PC平台逆向破解 实验目的 掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP:无作用,英文&quo ...

  8. C++20 要来了!

    867 人赞同了该文章 C++的新标准又双叒叕要到来了,是的,C++20要来了! 图片来源:udemy.com 几周前,C++标准委会历史上规模最大的一次会议(180人参会)在美国San Diego召 ...

  9. 2018-2019-2 20165336 《网络对抗技术》 Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165336 <网络对抗技术> Exp6 信息搜集与漏洞扫描 一.原理与实践说明 1.实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 各种搜索技巧的 ...

  10. vue中用ajax上传文件

    直接上代码 <input class="file-btn" type="file" @change="uploadCompany($event) ...