广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Asp.Net 通用数据操作类 (附通用数据基类)

    2018-05-07 10:24:47 次阅读 稿源:互联网
    广告
    文章内容为本站编辑,创作.你可以任意转载、发布、使用但请务必以明文标注文章原始出处及本声明 http://www.opent.cn  作者:浪淘沙
    此贴的方法会持续更新, 此文件要引用与数据操作的基类

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    namespace EC
    {
        /// <summary>
        /// EB通用与数据交互操作基类
        /// </summary>
        public class EBCommonObj:IDisposable
        {
            private bool _alreadyDispose = false;
            private DBOperate dbo;
            private string sql = null;
            private System.Data.DataSet ds;

            #region 构造与析构函数
            public EBCommonObj()
            {
                dbo = new DBOperate();
            }

            ~EBCommonObj()
            {
                dbo.Dispose();
                Dispose();
            }
            protected virtual void Dispose(bool isDisposing)
            {
                if (_alreadyDispose) return;
                if (isDisposing)
                {
                    dbo.Dispose();
                }
                _alreadyDispose = true;
            }
            #endregion

            #region IDisposable 成员
            public void Dispose()
            {
                Dispose(true);
                GC.SuppressFinalize(this);
            }
            #endregion

            #region 通用删除数据库中的某条记录
            /// <summary>
            /// 通用删除数据库中的某条记录
            /// </summary>
            /// <param name="tbl">数据表名</param>
            /// <param name="fld">字段名</param>
            /// <param name="IsInt">是否是int型</param>
            /// <param name="kev">关键词值</param>
            public void CommDelByID(string tbl, string fld, bool IsInt, string key)
            {
                sql = "delete from {0} where {1}=";
                if (IsInt)
                {
                    sql += "{3}";
                }
                else
                {
                    sql += "'{3}'";
                }
                dbo.ExecuteNonQuery(string.Format(sql, tbl, fld, IsInt, key));

            }

            #endregion

            #region 通用读取数据库中的某条记录
            /// <summary>
            /// 通用读取数据库中的某条记录
            /// </summary>
            /// <param name="tbl"></param>
            /// <param name="fld"></param>
            /// <param name="IsInt"></param>
            /// <param name="key"></param>
            /// <returns></returns>
            public DataSet CommReadByID(string tbl,string fld,bool IsInt,string key)
            {
                sql = "select * from {0} where {1}=";
                if (IsInt)
                {
                    sql += "{3}";
                }
                else
                {
                    sql += "'{3}'";
                }
                ds = dbo.GetDataSet(string.Format(sql, tbl, fld, IsInt, key));

                return ds;        
            }
            #endregion

            #region 修改数据库中的某条记录为true 或flase
            /// <summary>
            /// 修改数据库中的某条记录为true 或flase
            /// </summary>
            /// <param name="tbl">表格式</param>
            /// <param name="fld">主键标识</param>
            /// <param name="Isint">是否整形</param>
            /// <param name="key">主键</param>
            /// <param name="flgfld">flase键</param>
            /// <param name="flgkey">key值</param>
            public void CommUpdateByID(string tbl,string fld,bool Isint,string key,string flgfld,int flgkey)
            {

                sql = "update {0} set {4}={5} where {1}=";
                if (Isint)
                {
                    sql += "{3}";
                }
                else
                {
                    sql += "'{3}'";
                }
                dbo.ExecuteNonQuery(string.Format(sql, tbl, fld, Isint, key, flgfld, flgkey));
            }
            #endregion

            #region 绑定DropDown 列表

            /// <summary>
            /// 绑定DropDown 列表
            /// </summary>
            /// <param name="tbl">表名</param>
            /// <param name="selValue">下拉框值</param>
            /// <param name="selText">下拉框显示内容</param>
            /// <param name="strWhere">where 条件语句 不用加where 没有条件则为空</param>
            /// <param name="dr">DropDownList控件名称</param>
            public void DropBind(string tbl, string selValue, string selText, string strWhere,System.Web.UI.WebControls.DropDownList dr)
            {
                ds = GetDrop(tbl, selValue, selText, strWhere);
                dr.DataSource = ds;

                dr.DataTextField = selText;
                dr.DataValueField = selValue;
                dr.DataBind();
                ds.Clear();
                ds.Dispose();
            }

            /// <summary>
            /// 读取表中数据
            /// </summary>
            /// <param name="tbl"></param>
            /// <param name="selValue"></param>
            /// <param name="selText"></param>
            /// <param name="strWhere">条件</param>
            /// <returns></returns>
            public DataSet GetDrop(string tbl,string selValue,string selText,string strWhere)
            {
                sql = "select {1},{2} from {0} where 1=1 and {3}";
                ds = dbo.GetDataSet(string.Format(sql, tbl, selValue, selText, strWhere));
                return ds;        
            }       

            #endregion

            #region 判断是否有数据
            /// <summary>
            /// 判断是否有数据:存在数据时返回true,否则返回Flash
            /// </summary>
            /// <param name="tbl">数据表名</param>
            /// <param name="fld">字段名</param>
            /// <param name="key">关键词</param>
            /// <param name="IsKeyInt">是否是数字类型:是:true;否:false</param>
            /// <returns>true或false</returns>
            public bool IsHaveDate(string tbl,string fld,string key,bool IsKeyInt)
            {
                bool Rev = false;
                if (IsKeyInt)
                {
                    sql = "select * from {0} where {1}={2}";
                }
                else
                {
                    sql = "select * from {0} where {1}='{2}'";
                }
                ds = dbo.GetDataSet(string.Format(sql, tbl, fld, key));
                if (ds.Tables[0].Rows.Count > 0)
                {
                    Rev = true;
                }
                return Rev;
            }

            #endregion
        }
    }






    /############################################
    版权声明:
    文章内容为本站编辑,创作.你可以任意转载、发布、使用但请务必标明文章原始出处及本声明
    http://www.opent.cn  作者:浪淘沙
    ############################################/

    /**********************************************************************************
     * 
     * 功能说明:数据操作基类,可以执行内联SQL语句和存储过程
     * 作者: 刘功勋;
     * 版本:V0.1(C#2.0);时间:2006-4-28
     * 
     * *******************************************************************************/
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    namespace EC
    {
        /// <summary>
        /// 数据库连接及操作对象类
        /// </summary>
        public class DBBase
        {
            private bool _alreadyDispose = false;
            private System.Data.SqlClient.SqlConnection conn;
            private System.Data.SqlClient.SqlCommand com;

            #region 构造与柝构
            public DBBase()
            {
                try
                {
                    conn=new System.Data.SqlClient.SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
                    conn.Open();
                    com = new System.Data.SqlClient.SqlCommand();
                    com.Connection = conn;
                }
                catch (Exception ee)
                {
                    throw new Exception("连接数据库出错");
                }
            }
            ~DBBase()
            {
                Dispose();
            }
            protected virtual void Dispose(bool isDisposing)
            {
                if (_alreadyDispose) return;
                if (isDisposing)
                {
                    // TODO: 此处释放受控资源 
                    if (com != null)
                    {
                        com.Cancel();
                        com.Dispose();
                    }
                    if (conn != null)
                    {
                        try
                        {
                            conn.Close();
                            conn.Dispose();
                        }
                        catch (Exception ee)
                        {
                        }
                        finally
                        {
                            conn = null;
                        }
                    }
                }
                // TODO: 此处释放非受控资源。设置被处理过标记 
                _alreadyDispose = true;
            }
            #endregion
            #region IDisposable 成员

            public void Dispose()
            {
                Dispose(true);
                GC.SuppressFinalize(this);
            }

            #endregion

            #region 数据基本操作
            /// <summary>
            /// ExecuteNonQuery
            /// </summary>
            /// <param name="sqlString">SQL语句</param>
            /// <returns>返回影响行数</returns>
            public int ExecuteNonQuery(string sqlString)
            {
                int ret = 0;
                com.CommandText = sqlString;
                com.CommandType = CommandType.Text;
                try
                {
                    ret = com.ExecuteNonQuery();
                }
                catch (Exception ee)
                {
                    throw new Exception("SQL:" + sqlString + "<br />" + ee.Message.ToString());
                }
                finally
                {
                    com.Cancel();
                }
                return ret;
            }
            /// <summary>
            /// 执行插入语句返回IDENTITY
            /// </summary>
            /// <param name="sqlString">SQL语句</param>
            /// <returns>@@IDENTITY</returns>
            public int ExecInsert(string sqlString)
            {
                int identity = 0;
                //仅能执行Insert into 语句
                if (!sqlString.ToLower().Contains("insert into"))
                {
                    return -1;
                }
                sqlString += " Select @@IDENTITY";
                System.Data.DataSet ds = new DataSet();
                try
                {
                    System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(sqlString, conn);
                    da.Fill(ds);
                    da.Dispose();
                }
                catch (Exception ee)
                {
                    throw new Exception("SQL:" + sqlString + "<br />" + ee.Message.ToString());
                }
                if (ds.Tables[0].Rows.Count > 0)
                {
                    identity =Convert.ToInt32(ds.Tables[0].Rows[0][0]);
                }
                ds.Clear();
                ds.Dispose();
                return identity;
            }
            /// <summary>
            /// 执行SQL语句返回记录集
            /// </summary>
            /// <param name="sqlString">SQL语句</param>
            /// <returns>DataSet</returns>
            public DataSet GetDataSet(string sqlString)
            {
                System.Data.DataSet ds = new DataSet();
                try
                {
                    System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(sqlString, conn);
                    da.Fill(ds);
                    da.Dispose();
                }
                catch (Exception ee)
                {
                    throw new Exception("SQL:" + sqlString + "<br />" + ee.Message.ToString());
                }
                return ds;
            }
            /// <summary>
            /// 执行存储过程(返回N种参数)
            /// </summary>
            /// <param name="procName">过程名</param>
            /// <param name="hashtable">传入的参数表</param>
            /// <param name="hashtable1">传出的参数表</param>
            /// <returns>返回参数表</returns>

            public System.Collections.Hashtable ExecProcedure(string procName, System.Collections.Hashtable hashtable, System.Collections.Hashtable hashtable1)
            {
                System.Collections.Hashtable hashtable2 = new System.Collections.Hashtable();
                System.Collections.IDictionaryEnumerator ide = hashtable.GetEnumerator();
                System.Collections.IDictionaryEnumerator ide1 = hashtable1.GetEnumerator();

                com.CommandType = CommandType.StoredProcedure;
                com.CommandText = procName;

                while (ide.MoveNext())
                {
                    System.Data.SqlClient.SqlParameter p = new System.Data.SqlClient.SqlParameter(ide.Key.ToString(), ide.Value);
                    com.Parameters.Add(p);
                }
                while (ide1.MoveNext())
                {
                    System.Data.SqlClient.SqlParameter p = new System.Data.SqlClient.SqlParameter(ide1.Key.ToString(), ide.Value);
                    com.Parameters.Add(p);
                }

                try
                {
                    com.ExecuteNonQuery();
                    ide1 = hashtable1.GetEnumerator();
                    while (ide1.MoveNext())
                    {
                        string k = ide1.Key.ToString();
                        hashtable2.Add(k, com.Parameters[k].Value);
                    }
                }
                catch (Exception ee)
                {
                    throw new Exception(ee.Message.ToString());
                }
                finally
                {
                    com.Cancel();
                }
                return hashtable2;
            }
    当前1/2页 12下一页

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告