#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. Codechef August Challenge 2018 : Modular GCD

    传送门 一开始还手动拓欧找规律,发现好像玩不了. 然后想了想,A-B这个数比较小,枚举它的因子判断合不合法就行了. 需要特判A=B的情况. #include<cstdio> #includ ...

  2. vue使用技巧(分页、nextTick、复制对象)

    分页技巧 v1.0+ 版本的时候使用过滤器 limitBy 实现 v2.0+ 版本的时候使用compute使用 slice 方法实现 data:{ pageNum:10 }, computed:{ n ...

  3. poj 3422 最小费用流

    如果不是从费用流区做这个题几乎不会想到用费用流 点有权值很容易想到拆点 问题是求最大sum ...  把权值取负 这样最小费用流的相反数就是最大sum 源点S汇点T k为移动次数 矩阵中的点拆成入点出 ...

  4. connection reset by peer

    connection reset by peer https 请求返回下面的内容 {"msg":"connection reset by peer"," ...

  5. js_js流程控制

    1.表达式.语句 2.流程控制 顺序   分支   循环 分支   循环结构都有一个条件 循环结构:重复做一件事 3元运算符 switch语句(用来做相等性判断--优先考虑) 注意: 1.switch ...

  6. Notepad++ 64位 插件管理器 PluginManager 安装 更新

    32位的自带不多说,64位的内置不带,需要自己去找,这里给个地址: https://github.com/bruderstein/nppPluginManager/releases 地址里面有64位管 ...

  7. 【OJ】抓牛问题

    /* 农夫John的奶牛跑路了.将地图视作一条数轴,John的初始位置在s而奶牛的位置在t(0<=s,t<=100000).John可以花费一分钟的时间使自己作如下移动: 1 从点x移动到 ...

  8. STREAMING HIVE流过滤 官网例子 注意中间用的py脚本

    Simple Example Use Cases MovieLens User Ratings First, create a table with tab-delimited text file f ...

  9. mysql查询两个日期之前相隔的天数

    select timestampdiff(SECOND,'2011-09-25 23:23:13','2011-09-26 22:23:11'); 其中SECOND同样可以改为HOUR,MINUTE

  10. HDU 2544最短路 【dijkstra 链式前向星+优先队列优化】

    最开始学最短路的时候只会用map二维数组存图,那个时候还不知道这就是矩阵存图,也不懂得效率怎么样 经过几个月的历练再回头看最短路的题, 发现图可以用链式前向星来存, 链式前向星的效率是比较高的.对于查 ...