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语句 ...
随机推荐
- Java 获取当前日期的几种方法
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import ja ...
- 利用PIL和Selenium实现页面元素截图
预备 照张相片 selenium.webdriver可以实现对显示页面的截图: from selenium import webdriver dr = webdriver.Firefox() dr.g ...
- vue 监听路由变化
方法一:通过 watch // 监听,当路由发生变化的时候执行 watch:{ $route(to,from){ console.log(to.path); } }, 或 // 监听,当路由发生变化的 ...
- PC_官网设计
1. 头部 header 固定 的两种方式 固定定位 内容区 包裹,使用 overflow: hidden; 2. 动画第二次起效 缺少动画初始参数 3. 隐藏元素 display: none; vi ...
- laravel之数据库
mysql数据库设置其实在.env中 数据库修改在
- 将整数m的各位数字保存到数组A中
import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/4 20:10 * @description ...
- c# 存储过程取output 值
DataAccess da = new DataAccess(); da.sqlPath = Config.Get("System", "dataCntString&qu ...
- linux上创建svn服务器(centos7.3)
1.安装svn yum -y install subversion 2.创建svn版本仓库 mkdir /var/svn/svnrepos svnadmin create /var/svn/svnre ...
- memcached加固
Memcached服务安全加固 更新时间:2017-06-30 10:07:49 漏洞描述 Memcached是一套常用的key-value缓存系统,由于它本身没有权限控制模块,所以对公网开放的 ...
- afn3.0源码解析---AFURLRequestSerialization
AFHTTPRequestSerialization: @方法1 - (NSMutableURLRequest *)requestWithMethod:(NSString *)method URLSt ...