| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- /*******************************************************************************
- * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:IDBTransaction.cs
- * 2.功能描述:带有事物的数据库连接
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * 张国印 2014/09/01 1.00 新建
- *******************************************************************************/
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- namespace Dongke.IBOSS.PRD.Basics.DataAccess
- {
- /// <summary>
- /// 带有事物的数据库连接
- /// </summary>
- public interface IDBTransaction
- {
- /// <summary>
- /// 事务是否自动提交
- /// </summary>
- bool AutoCommit { get; set; }
- /// <summary>
- /// 数据库连接状态
- /// </summary>
- ConnectionState ConnState { get; }
- /// <summary>
- /// 对应的数据库连接串信息
- /// </summary>
- string ConnStr { get; }
- /// <summary>
- /// 数据库连接对象
- /// </summary>
- IDbConnection DbConnection { get; set; }
- /// <summary>
- /// 忽略大小写
- /// </summary>
- bool IgnoreCase
- {
- get;
- set;
- }
- /// <summary>
- /// SQL执行限定超时
- /// </summary>
- bool IsCommandTimeout
- {
- get;
- set;
- }
- /// <summary>
- /// 连接数据库
- /// </summary>
- /// <returns>返回连接状态</returns>
- ConnectionState Connect();
- /// <summary>
- /// 启动数据库事务
- /// </summary>
- /// <returns>返回是否成功</returns>
- bool CreateTransaction();
- /// <summary>
- /// 注销数据库连接
- /// </summary>
- /// <returns>返回连接状态</returns>
- ConnectionState Disconnect();
- /// <summary>
- /// 提交事务
- /// </summary>
- void Commit();
- /// <summary>
- /// 回滚事务
- /// </summary>
- void Rollback();
- void RollbackTo(string p_strcheckPoint);
- /// <summary>
- /// 设置某个时间点的数据库操作 该功能没有实现
- /// </summary>
- /// <param name="p_strcheckPoint">时间点名称</param>
- void SavePoint(string p_strcheckPoint);
- /// <summary>
- /// 返回一个DataSet数据集合
- /// </summary>
- /// <param name="p_strCommand">对应的SQL语句</param>
- /// <returns>返回一个DataSet数据集合</returns>
- DataSet GetSqlResultToDs(string p_strCommand, IDataParameter[] p_Parameter = null);
- /// <summary>
- /// 返回一个自定名称的DataSet数据集合
- /// </summary>
- /// <param name="p_strCommand">对应的SQL语句</param>
- /// <returns>返回一个自定名称的DataSet数据集合</returns>
- DataSet GetSqlResultToDs(string p_strCommand, string p_strName, IDataParameter[] p_Parameter = null);
- /// <summary>
- /// 执行对应的Sql语句,返回一个数据表
- /// </summary>
- /// <param name="p_strCommand">要执行的SQL语句</param>
- /// <returns>返回对应的数据表</returns>
- DataTable GetSqlResultToDt(string p_strCommand, IDataParameter[] p_Parameter = null);
- /// <summary>
- /// 执行对应的Sql语句,返回一个字符串
- /// </summary>
- /// <param name="p_strCommand">要执行的SQL语句</param>
- /// <returns>返回对应的一个字符串</returns>
- string GetSqlResultToStr(string p_strCommand, IDataParameter[] p_Parameter = null);
- /// <summary>
- /// 执行对应的Sql语句,返回一个object
- /// </summary>
- /// <param name="p_strCommand">要执行的SQL语句</param>
- /// <returns>返回对应的一个object</returns>
- object GetSqlResultToObj(string p_strCommand, IDataParameter[] p_Parameter = null);
- /// <summary>
- /// 执行对应的SQL语句,返回对应的二进制流信息
- /// </summary>
- /// <param name="p_strCommand">要执行的SQL语句</param>
- /// <returns>返回对应的二进制流信息</returns>
- byte[] GetSqlResultToBt(string p_strCommand, IDataParameter[] p_Parameter = null);
- /// <summary>
- /// 执行对应的SQL语句,并返回受影响的数据行数
- /// </summary>
- /// <param name="p_strCommand">对应的SQL语句</param>
- /// <returns>受影响的数据行数</returns>
- int ExecuteNonQuery(string p_strCommand, IDataParameter[] p_Parameter = null);
- /// <summary>
- /// 执行对应的SQL语句,返回受影响的数据行数
- /// </summary>
- /// <param name="p_strCommand">SQL语句</param>
- /// <param name="p_procedure">类型 TRUE是存储过程 False普通SQL语句</param>
- /// <returns>受影响的数据行数</returns>
- int ExecuteNonQuery(string p_strCommand, bool p_procedure, IDataParameter[] p_Parameter = null);
- /// <summary>
- /// 更新对应的二进制字段的值
- /// </summary>
- /// <param name="p_strTable">数据表名称</param>
- /// <param name="p_strColumn">数据列名称</param>
- /// <param name="p_blobData">对应的二进制值</param>
- /// <param name="p_strWhere">对应的条件</param>
- /// <returns>返回状态 0为失败 1为成功</returns>
- int UpdateBlob(string p_strTable, string p_strColumn, byte[] p_blobData, string p_strWhere);
- /// <summary>
- /// 执行存储过程
- /// </summary>
- /// <param name="p_strCommand">存储过程名称</param>
- /// <param name="p_Parameter">IDataParameter类型 参数集合</param>
- /// <returns></returns>
- DataSet ExecStoredProcedure(string p_strCommand, IDataParameter[] p_Parameter = null);
- }
- }
|