/// <summary> /// 判断是否存在(使用参数) /// </summary> /// <param name="strSql">查询语句(包含参数)</param> /// <param name="cmdParms">查询参数</param> /// <returns></returns> public bool Exists(string strSql, CmdParameterCollection cmdParms) { object obj = ExecuteScalar(strSql, cmdParms); int cmdresult; if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) { cmdresult = 0; } else { cmdresult = Convert.ToInt32(obj); } return(cmdresult == 0 ? false : true); }
private string GetParaLog(CmdParameterCollection cmdParms) { StringBuilder strLog = new StringBuilder(); if (cmdParms == null) { strLog.Append("Null"); } else { foreach (CmdParameter para in cmdParms) { strLog.Append(string.Format("\r\n{0}={1}", para.Name, para.Value)); } } return(strLog.ToString()); }
public T ExecWithLog <T>(Func <Action <string>, T> funcExec, string strSQL, CmdParameterCollection cmdParms) { Stopwatch sw = new Stopwatch(); sw.Start(); string strLog = @"{0} DBType:{1} SQL: {2} Params:{3} {4} Elapsed:{5}", strInfo = "Count:1"; T objRst = default(T); try { objRst = funcExec(uCount => { strInfo = "Count:" + uCount; }); } catch (Exception ex) { strInfo = "Error:" + ex.Message; throw ex; } finally { sw.Stop(); LogService.DataAccessMessage(string.Format(strLog, "".PadLeft(100, '*'), this.DatabaseType, strSQL, this.GetParaLog(cmdParms), strInfo, sw.Elapsed)); } return(objRst); }
/// <summary> /// 准备Command /// </summary> /// <param name="cmd">Command</param> /// <param name="conn">Command连接</param> /// <param name="cmdType">Command类型</param> /// <param name="cmdText">Command语句</param> /// <param name="cmdParms">Command参数</param> public abstract void PrepareCommand(IDbCommand cmd, IDbConnection conn, string cmdText, CmdParameterCollection cmdParms);
/// <summary> /// 执行存储过程 /// </summary> /// <param name="storedProcName">存储过程名</param> /// <param name="parameters">存储过程参数</param> /// <param name="tableName">DataSet结果中的表名</param> /// <returns>DataSet</returns> public abstract DataSet RunProcedure(string storedProcName, CmdParameterCollection parameters, string tableName);
/// <summary> /// 执行存储过程,返回影响的行数 /// </summary> /// <param name="storedProcName">存储过程名</param> /// <param name="parameters">存储过程参数</param> /// <param name="rowsAffected">影响的行数</param> /// <returns>影响的行数</returns> public abstract int RunProcedure(string storedProcName, CmdParameterCollection parameters, out int rowsAffected);
/// <summary> /// 执行存储过程 注意:调用该方法后,要对DataReader进行Close ) /// </summary> /// <param name="storedProcName">存储过程名</param> /// <param name="parameters">存储过程参数</param> /// <returns>DataReader</returns> public abstract IDataReader RunProcedure(string storedProcName, CmdParameterCollection parameters);
/// <summary> /// 查询数据 /// </summary> /// <param name="SQLString">查询语句</param> /// <param name="cmdParms">Command参数</param> /// <returns>DataSet</returns> public abstract DataSet ExecuteDataSet(string SQLString, CmdParameterCollection cmdParms);
/// <summary> /// 查询数据 /// </summary> /// <param name="SQLString">查询语句</param> /// <param name="cmdParms">Command参数</param> /// <returns>Reader</returns> public abstract IDataReader ExecuteReader(string SQLString, CmdParameterCollection cmdParms);
/// <summary> /// 返回第一行第一列 /// </summary> /// <param name="SQLString">查询语句</param> /// <param name="cmdParms">Command参数</param> /// <returns>结果</returns> public abstract object ExecuteScalar(string SQLString, CmdParameterCollection cmdParms);
/// <summary> /// 执行语句 /// </summary> /// <param name="SQLString">执行语句</param> /// <param name="cmdParms">Command参数</param> /// <returns>受影响行数</returns> public abstract int ExecuteNonQuery(string SQLString, CmdParameterCollection cmdParms);