Verify_Execute 验证SQL语句执行结果
#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语句执行结果的更多相关文章
- 使用V$SQL_PLAN视图获取曾经执行过的SQL语句执行计划
通常我们查看SQL语句的执行计划都是通过EXPLAIN PLAN或者AUTOTRACE来完成.但是这些查看方法有一个限制,它们都是人为触发而产生的,无法获得数据库系统中曾经执行过的SQL语句执行计划. ...
- html5 webDatabase 存储中sql语句执行可嵌套使用
html5 webDatabase 存储中sql语句执行可嵌套使用,代码如下: *); data.transaction(function(tx){ tx.executeSql("creat ...
- Oracle sql语句执行顺序
sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...
- mysql优化(三)–explain分析sql语句执行效率
mysql优化(三)–explain分析sql语句执行效率 mushu 发布于 11个月前 (06-04) 分类:Mysql 阅读(651) 评论(0) Explain命令在解决数据库性能上是第一推荐 ...
- 统计sql语句执行效率
--统计sql语句执行效率SELECT (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N ...
- SQL语句执行顺寻
SQL语句执行的时候是有一定顺序的.理解这个顺序对SQL的使用和学习有很大的帮助. 1.from 先选择一个表,或者说源头,构成一个结果集. 2.where 然后用where对结果集进行筛选.筛选出需 ...
- EXPLAIN PLAN获取SQL语句执行计划
一.获取SQL语句执行计划的方式 1. 使用explain plan 将执行计划加载到表plan_table,然后查询该表来获取预估的执行计划 2. 启用执行计划跟踪功能,即autotrace功能 3 ...
- Oracle SQL语句执行过程
前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQ ...
- mysql sql语句执行时是否使用索引检查方法
在日常开发中,使用到的数据表经常都会有索引,这些索引可能是开发人员/DBA建表时创建的,也可能是在使用过程中新增的.合理的使用索引,可以加快数据库查询速度.然而,在实际开发工作中,会出现有些sql语句 ...
随机推荐
- Python 遇到的坑
1. 循环导入 AB 互相引用,或者 中间掺入了更复杂的一些--用局部导入解决
- linux学习:xargs与grep用法整理
xargs xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可 ...
- Sum It Up---(DFS)
Sum It Up Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- 循环结构while
Note:高能:语句结构都是由关键字开头,用冒号结束! 一:语句结构 while 判断条件: 语句 二:基本规则 (1)使用缩进来划分语句块,相同缩进数的语句在一 ...
- Java+Selenium向文本框输入内容以后模仿键盘的"ENTRY"
在自动化测试中我们避免不了要模仿一些键盘上按钮的操作,普通的字母,数字,特殊符号,这些都是很简单的,有时候我们也会模仿"SHIFT","ALT","C ...
- direction: rtl;
这个属性,有点无语,费了点时间. <style type="text/css"> .hao {direction: rtl;}</style> <se ...
- Oracle JDK 1.8 openJDK11 定制化JDK
小结: 1. https://mp.weixin.qq.com/s/4rkgisFRJxokXZ4lyFXujw 京东JDK在大数据平台的探索与研究 臧琳 亿级流量网站架构 3月11日
- k8s-N0.4-service
本章目录 k8s中的三种网络 service的构建及参数说明 一 k8s的三种网络 在k8s集群中,k8s是有三种网络类型的,下面我们看一下下面这个图 1 节点网络:顾名思义,节点网络就是你每台物理 ...
- Linux-centos7下python3 环境设置
首先安装依赖包 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel open ...
- python函数把可变数据类型当默认参数值的问题(转)
add by zhj: 文章写的很好,其实只要默认参数在函数中只读不写,那默认值就不会被修改,可变类型做默认参数就不会有问题 方法二中,当result is None时,修改result的指向,不再指 ...