nativeDAL.cs
资源名称:OASystem.rar [点击查看]
上传用户:lishan0805
上传日期:2019-12-08
资源大小:12048k
文件大小:18k
源码类别:
OA系统
开发平台:
C#
- // ===================================================================
- // 产品(COM.OA.SqlServerDAL)项目
- //====================================================================
- // wangyp @Copy Right 2006-2008
- // 文件:nativeDAL.cs
- // 项目名称:工程项目管理,源码:http://www.51aspx.com/CV/OaPro
- // 创建时间:2008-9-23
- // 负责人:wangyp
- // 先创建SqlHelper.cs文件,引用System.Configuration程序集和实体(COM.OA.Entity)、产品规则(COM.OA.IDAL)项目、引用业务逻辑(COM.OA.BLL)项目
- // ===================================================================
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.SqlClient;
- using System.Text;
- using COM.OA.Entity;
- using COM.OA.IDAL;
- using COM.OA.BLL;
- namespace COM.OA.SqlServerDAL
- {
- /// <summary>
- /// 数据访问层dbo.native
- /// </summary>
- public partial class nativeDAL : InativeDAL
- {
- #region 构造函数
- /// <summary>
- /// 数据层实例化
- /// </summary>
- public nativeDAL()
- {
- }
- #endregion
- #region -----------实例化接口函数-----------
- #region 添加
- /// <summary>
- /// 向数据库中插入一条新记录
- /// </summary>
- /// <param name="native">native实体对象</param>
- /// <returns></returns>
- public int Insert(native native)
- {
- string sqlCommand = "nativeInsert";
- int res;
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int),
- new SqlParameter("@n_native",SqlDbType.VarChar)
- };
- param[0].Direction = ParameterDirection.Output;
- param[1].Value = native.n_native;
- res = SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- native.n_id = ((param[0].Value) == DBNull.Value) ? 0 : Convert.ToInt32(param[0].Value);
- return res;
- }
- /// <summary>
- /// 向数据库中插入一条新记录。带事务
- /// </summary>
- /// <param name="sp">事务对象</param>
- /// <param name="native">native实体对象</param>
- /// <returns></returns>
- public int Insert(SqlTransaction sp, native native)
- {
- string sqlCommand = "nativeInsert";
- int res;
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int),
- new SqlParameter("@n_native",SqlDbType.VarChar)
- };
- param[0].Direction = ParameterDirection.Output;
- param[1].Value = native.n_native;
- res = SqlHelper.ExecuteNonQuery(sp, CommandType.StoredProcedure, sqlCommand, param);
- native.n_id = ((param[0].Value) == DBNull.Value) ? 0 : Convert.ToInt32(param[0].Value);
- return res;
- }
- #endregion
- #region 更新
- /// <summary>
- /// 向数据表native更新一条记录
- /// </summary>
- /// <param name="native">native实体对象</param>
- /// <returns></returns>
- public int Update(native native)
- {
- string sqlCommand = "nativeUpdate";
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int),
- new SqlParameter("@n_native",SqlDbType.VarChar)
- };
- param[0].Value = native.n_id;
- param[1].Value = native.n_native;
- return SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- }
- /// <summary>
- /// 向数据表native更新一条记录。带事务
- /// </summary>
- /// <param name="sp">事务对象</param>
- /// <param name="native">native实体对象</param>
- /// <returns></returns>
- public int Update(SqlTransaction sp, native native)
- {
- string sqlCommand = "nativeUpdate";
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int),
- new SqlParameter("@n_native",SqlDbType.VarChar)
- };
- param[0].Value = native.n_id;
- param[1].Value = native.n_native;
- return SqlHelper.ExecuteNonQuery(sp, CommandType.StoredProcedure, sqlCommand, param);
- }
- #endregion
- #region 删除
- /// <summary>
- /// 删除数据表native中的一条记录
- /// </summary>
- /// <param name="n_id">n_id</param>
- /// <returns></returns>
- public int Delete(int n_id)
- {
- string sqlCommand = "nativeDelete";
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int)
- };
- param[0].Value = n_id;
- return SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- }
- /// <summary>
- /// 删除数据表native中的一条记录
- /// </summary>
- /// <param name="native">native实体对象</param>
- /// <returns></returns>
- public int Delete(native native)
- {
- string sqlCommand = "nativeDelete";
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int)
- };
- param[0].Value = native.n_id;
- return SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- }
- /// <summary>
- /// 删除数据表native中的一条记录,带事务
- /// </summary>
- /// <param name="sp">事务对象</param>
- /// <param name="n_id">n_id</param>
- /// <returns></returns>
- public int Delete(SqlTransaction sp, int n_id)
- {
- string sqlCommand = "nativeDelete";
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int)
- };
- param[0].Value = n_id;
- return SqlHelper.ExecuteNonQuery(sp, CommandType.StoredProcedure, sqlCommand, param);
- }
- /// <summary>
- /// 删除数据表native中的一条记录,带事务
- /// </summary>
- /// <param name="sp">事务对象</param>
- /// <param name="native">native实体对象</param>
- /// <returns></returns>
- public int Delete(SqlTransaction sp, native native)
- {
- string sqlCommand = "nativeDelete";
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int)
- };
- param[0].Value = native.n_id;
- return SqlHelper.ExecuteNonQuery(sp, CommandType.StoredProcedure, sqlCommand, param);
- }
- #endregion
- #region 实体对象
- /// <summary>
- /// 得到native实体对象
- /// </summary>
- /// <param name="row">row</param>
- /// <returns>native实体对象</returns>
- public native Select(DataRow row)
- {
- native obj = new native();
- if (row != null)
- {
- obj.n_id = ((row["n_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["n_id"]);
- obj.n_native = row["n_native"].ToString();
- }
- else
- {
- return null;
- }
- return obj;
- }
- /// <summary>
- /// 得到native实体对象
- /// </summary>
- /// <param name="dr">dr</param>
- /// <returns>native实体对象</returns>
- public native Select(IDataReader dr)
- {
- native obj = new native();
- obj.n_id = ((dr["n_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["n_id"]);
- obj.n_native = dr["n_native"].ToString();
- return obj;
- }
- /// <summary>
- /// 根据ID,返回一个native实体对象
- /// </summary>
- /// <param name="n_id">n_id</param>
- /// <returns>native实体对象</returns>
- public native Select(int n_id)
- {
- return this.Select(n_id, false, false);
- }
- /// <summary>
- /// 根据ID,返回一个native实体对象
- /// </summary>
- /// <param name="n_id">n_id</param>
- /// <param name="bParentTable">将native对象设置与父表关联</param>
- /// <param name="bChildrenTable">将native对象设置与子表关联</param>
- /// <returns>native实体对象</returns>
- public native Select(int n_id, bool bParentTable, bool bChildrenTable)
- {
- native obj = null;
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int)
- };
- param[0].Value = n_id;
- string sqlCommand = "nativeSelect";
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param))
- {
- while (dr.Read())
- {
- obj = this.Select(dr);
- }
- }
- this.Select(obj, bParentTable, bChildrenTable);
- return obj;
- }
- /// <summary>
- /// 将native实体对象设置与父表和子表关联
- /// </summary>
- /// <param name="obj">native实体对象</param>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- public void Select(native obj, bool bParentTable, bool bChildrenTable)
- {
- //关联的主表
- if (bParentTable)
- {
- }
- //关联的子表集合
- if (bChildrenTable)
- {
- obj.employee = employeeBLL.Select("em_n_id=" + obj.n_id.ToString());
- foreach (employee item in obj.employee)
- {
- item.native = obj;
- }
- }
- }
- #endregion
- #region 父表
- #endregion
- #region 子表
- /// <summary>
- /// 设置实体对象(native)的子表对象
- /// </summary>
- /// <param name="native">实体对象</param>
- public void employee(native native)
- {
- native.employee = employeeBLL.Select("em_n_id=" + native.n_id.ToString());
- }
- #endregion
- #region 查询
- /// <summary>
- /// 得到数据表native所有记录
- /// </summary>
- /// <returns>结果集</returns>
- public IList<native> Select()
- {
- return this.Select(false, false);
- }
- /// <summary>
- /// 得到数据表native所有记录
- /// </summary>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <returns>结果集</returns>
- public IList<native> Select(bool bParentTable, bool bChildrenTable)
- {
- IList<native> list = new List<native>();
- string sqlCommand = "nativeSelectAll";
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand))
- {
- while (dr.Read())
- {
- list.Add(this.Select(dr));
- }
- }
- foreach (native obj in list)
- {
- this.Select(obj, bParentTable, bChildrenTable);
- }
- return list;
- }
- /// <summary>
- /// 得到数据表native满足查询条件的记录
- /// </summary>
- /// <param name="where">查询条件</param>
- /// <returns>结果集</returns>
- public IList<native> Select(string where)
- {
- return this.Select(where, false, false);
- }
- /// <summary>
- /// 得到数据表native满足查询条件的记录
- /// </summary>
- /// <param name="where">查询条件</param>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <returns>结果集</returns>
- public IList<native> Select(string where, bool bParentTable, bool bChildrenTable)
- {
- IList<native> list = new List<native>();
- SqlParameter[] param ={
- new SqlParameter("@where",SqlDbType.VarChar,8000)
- };
- param[0].Value = where;
- string sqlCommand = "nativeSelectByParams";
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param))
- {
- while (dr.Read())
- {
- list.Add(this.Select(dr));
- }
- }
- foreach (native obj in list)
- {
- this.Select(obj, bParentTable, bChildrenTable);
- }
- return list;
- }
- /// <summary>
- /// 得到数据表ArticalInfo满足外键字段查询条件的记录
- /// </summary>
- /// <param name="foreignFieldName">外键字段名称</param>
- /// <param name="foreignFieldValue">外键字段值</param>
- /// <returns>结果集</returns>
- public IList<native> Select(string foreignFieldName, int foreignFieldValue)
- {
- return this.Select(foreignFieldName, foreignFieldValue, false, false);
- }
- /// <summary>
- /// 得到数据表ArticalInfo满足外键字段查询条件的记录
- /// </summary>
- /// <param name="foreignFieldName">外键字段名称</param>
- /// <param name="foreignFieldValue">外键字段值</param>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <returns>结果集</returns>
- public IList<native> Select(string foreignFieldName, int foreignFieldValue, bool bParentTable, bool bChildrenTable)
- {
- return this.Select(string.Format("{0}='{1}'", foreignFieldName, foreignFieldValue), bParentTable, bChildrenTable);
- }
- /// <summary>
- /// 得到数据表native满足查询条件的记录数
- /// </summary>
- /// <param name="where">查询条件</param>
- /// <param name="recordCount">记录数</param>
- public void Select(string where, out int recordCount)
- {
- string sqlCommand = "nativeCountByWhere";
- SqlParameter[] param ={
- new SqlParameter("@where",SqlDbType.VarChar,8000),
- new SqlParameter("@recordCount",SqlDbType.Int)
- };
- param[0].Value = where;
- param[1].Direction = ParameterDirection.Output;
- SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- recordCount = Convert.ToInt32(param[1].Value);
- }
- /// <summary>
- /// 得到数据表native满足查询条件的分页记录
- /// </summary>
- /// <param name="pageSize">每页显示记录数</param>
- /// <param name="pageIndex">当前显示第几页</param>
- /// <param name="where">查询条件</param>
- /// <returns>结果集</returns>
- public IList<native> Select(int pageSize, int pageIndex, string where)
- {
- return this.Select(pageSize, pageIndex, where, false, false);
- }
- /// <summary>
- /// 得到数据表native满足查询条件的分页记录
- /// </summary>
- /// <param name="pageSize">每页显示记录数</param>
- /// <param name="pageIndex">当前显示第几页</param>
- /// <param name="where">查询条件</param>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <returns>结果集</returns>
- public IList<native> Select(int pageSize, int pageIndex, string where, bool bParentTable, bool bChildrenTable)
- {
- IList<native> list = new List<native>();
- string sqlCommand = "nativeSelectByPagerParams";
- SqlParameter[] param ={
- new SqlParameter("@pageSize",SqlDbType.Int),
- new SqlParameter("@pageIndex",SqlDbType.Int),
- new SqlParameter("@where",SqlDbType.VarChar,8000)
- };
- param[0].Value = pageSize;
- param[1].Value = pageIndex;
- param[2].Value = where;
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param))
- {
- while (dr.Read())
- {
- list.Add(this.Select(dr));
- }
- }
- foreach (native obj in list)
- {
- this.Select(obj, bParentTable, bChildrenTable);
- }
- return list;
- }
- /// <summary>
- /// 得到数据表native满足查询条件记录
- /// </summary>
- /// <param name="commandType">命令类型</param>
- /// <param name="sqlCommand">SQL命令</param>
- /// <param name="SqlParameter[]">命令参数数组</param>
- /// <returns>结果集</returns>
- public IList<native> Select(CommandType commandType, string sqlCommand, params SqlParameter[] param)
- {
- return this.Select(false, false, commandType, sqlCommand, param);
- }
- /// <summary>
- /// 得到数据表native满足查询条件记录
- /// </summary>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <param name="commandType">命令类型</param>
- /// <param name="sqlCommand">SQL命令</param>
- /// <param name="SqlParameter[]">命令参数数组</param>
- /// <returns>结果集</returns>
- public IList<native> Select(bool bParentTable, bool bChildrenTable, CommandType commandType, string sqlCommand, params SqlParameter[] param)
- {
- IList<native> list = new List<native>();
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, commandType, sqlCommand, param))
- {
- while (dr.Read())
- {
- list.Add(this.Select(dr));
- }
- }
- foreach (native obj in list)
- {
- this.Select(obj, bParentTable, bChildrenTable);
- }
- return list;
- }
- /// <summary>
- /// 根据主键检测是否存在该条记录
- /// </summary>
- /// <param name="n_id">n_id</param>
- /// <returns>存在/不存在</returns>
- public bool Exists(int n_id)
- {
- SqlParameter[] param ={
- new SqlParameter("@n_id",SqlDbType.Int)
- };
- param[0].Value = n_id;
- string sqlCommand = "nativeIsExist";
- int a = Convert.ToInt32(SqlHelper.ExecuteScalar(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param));
- if (a > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- #endregion
- #endregion
- }
- }