欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Asp.Net 通用數(shù)據(jù)操作類 (附通用數(shù)據(jù)基類)第1/2頁

 更新時間:2008年07月13日 21:52:53   作者:  
以前經(jīng)常用php的數(shù)據(jù)操作類,這次的asp.net數(shù)據(jù)操作類,是個方法
文章內(nèi)容為本站編輯,創(chuàng)作.你可以任意轉(zhuǎn)載、發(fā)布、使用但請務(wù)必以明文標注文章原始出處及本聲明 http://www.opent.cn  作者:浪淘沙
此貼的方法會持續(xù)更新, 此文件要引用與數(shù)據(jù)操作的基類

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通用與數(shù)據(jù)交互操作基類
    /// </summary>
    public class EBCommonObj:IDisposable
    {
        private bool _alreadyDispose = false;
        private DBOperate dbo;
        private string sql = null;
        private System.Data.DataSet ds;

        #region 構(gòu)造與析構(gòu)函數(shù)
        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 通用刪除數(shù)據(jù)庫中的某條記錄
        /// <summary>
        /// 通用刪除數(shù)據(jù)庫中的某條記錄
        /// </summary>
        /// <param name="tbl">數(shù)據(jù)表名</param>
        /// <param name="fld">字段名</param>
        /// <param name="IsInt">是否是int型</param>
        /// <param name="kev">關(guān)鍵詞值</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 通用讀取數(shù)據(jù)庫中的某條記錄
        /// <summary>
        /// 通用讀取數(shù)據(jù)庫中的某條記錄
        /// </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 修改數(shù)據(jù)庫中的某條記錄為true 或flase
        /// <summary>
        /// 修改數(shù)據(jù)庫中的某條記錄為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">下拉框顯示內(nèi)容</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>
        /// 讀取表中數(shù)據(jù)
        /// </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 判斷是否有數(shù)據(jù)
        /// <summary>
        /// 判斷是否有數(shù)據(jù):存在數(shù)據(jù)時返回true,否則返回Flash
        /// </summary>
        /// <param name="tbl">數(shù)據(jù)表名</param>
        /// <param name="fld">字段名</param>
        /// <param name="key">關(guān)鍵詞</param>
        /// <param name="IsKeyInt">是否是數(shù)字類型:是: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
    }
}






/############################################
版權(quán)聲明:
文章內(nèi)容為本站編輯,創(chuàng)作.你可以任意轉(zhuǎn)載、發(fā)布、使用但請務(wù)必標明文章原始出處及本聲明
http://www.opent.cn  作者:浪淘沙
############################################/

/**********************************************************************************
 * 
 * 功能說明:數(shù)據(jù)操作基類,可以執(zhí)行內(nèi)聯(lián)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>
    /// 數(shù)據(jù)庫連接及操作對象類
    /// </summary>
    public class DBBase
    {
        private bool _alreadyDispose = false;
        private System.Data.SqlClient.SqlConnection conn;
        private System.Data.SqlClient.SqlCommand com;

        #region 構(gòu)造與柝構(gòu)
        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("連接數(shù)據(jù)庫出錯");
            }
        }
        ~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: 此處釋放非受控資源。設(shè)置被處理過標記 
            _alreadyDispose = true;
        }
        #endregion
        #region IDisposable 成員

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

        #endregion

        #region 數(shù)據(jù)基本操作
        /// <summary>
        /// ExecuteNonQuery
        /// </summary>
        /// <param name="sqlString">SQL語句</param>
        /// <returns>返回影響行數(shù)</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>
        /// 執(zhí)行插入語句返回IDENTITY
        /// </summary>
        /// <param name="sqlString">SQL語句</param>
        /// <returns>@@IDENTITY</returns>
        public int ExecInsert(string sqlString)
        {
            int identity = 0;
            //僅能執(zhí)行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>
        /// 執(zhí)行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>
        /// 執(zhí)行存儲過程(返回N種參數(shù))
        /// </summary>
        /// <param name="procName">過程名</param>
        /// <param name="hashtable">傳入的參數(shù)表</param>
        /// <param name="hashtable1">傳出的參數(shù)表</param>
        /// <returns>返回參數(shù)表</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;
        }

相關(guān)文章

  • 淺析.net簡單工廠模式

    淺析.net簡單工廠模式

    這篇文章主要介紹了淺析.net簡單工廠模式,需要的朋友可以參考下
    2014-12-12
  • .NET中利用js讓子窗體向父頁面?zhèn)髦档膶崿F(xiàn)方法

    .NET中利用js讓子窗體向父頁面?zhèn)髦档膶崿F(xiàn)方法

    .NET中利用js讓子窗體向父頁面?zhèn)髦档膶崿F(xiàn)方法,需要的朋友可以參考一下
    2013-02-02
  • MVC異常處理詳解

    MVC異常處理詳解

    這篇文章主要為大家詳細介紹了MVC異常處理的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 微信公眾平臺開發(fā)教程(二) 基本原理及消息接口總結(jié)

    微信公眾平臺開發(fā)教程(二) 基本原理及消息接口總結(jié)

    本篇文章主要介紹了微信公眾平臺開發(fā)教程(二) 基本原理及消息接口,具有一定的參考價值,有興趣的朋友可以了解一下。
    2016-12-12
  • .NET?6中為record類型自定義Equals方法

    .NET?6中為record類型自定義Equals方法

    這篇文章主要介紹了.NET?6中為record類型自定義Equals方法,record類型,這是一種新引用類型,而不是類或結(jié)構(gòu)。record與類不同,區(qū)別在于record類型使用基于值的相等性,下文小編將介紹更多詳細資料,需要的朋友可以參考一下
    2022-03-03
  • asp.net關(guān)于Cookie跨域(域名)的問題

    asp.net關(guān)于Cookie跨域(域名)的問題

    Cookie是一個偉大的發(fā)明,它允許Web開發(fā)者保留他們的用戶的登錄狀態(tài)。但是當你的站點有一個以上的域名時就會出現(xiàn)問題了。在Cookie規(guī)范上說,一個cookie只能用于一個域名,不能夠發(fā)給其它的域名。因此,如果在瀏覽器中對一個域名設(shè)置了一個cookie,這個cookie對于其它的域名將無效。如果你想讓你的用戶從你的站點中的其中一個進行登錄,同時也可以在其它域名上進行登錄,這可真是一個大難題。
    2012-12-12
  • .NetCore?Web?Api?利用ActionFilterAttribute統(tǒng)一接口返回值格式及問題解析

    .NetCore?Web?Api?利用ActionFilterAttribute統(tǒng)一接口返回值格式及問題解析

    在實際項目開發(fā)過程中,統(tǒng)一API返回值格式對前端或第三方調(diào)用將是非常必要的,在.NetCore中我們可以通過ActionFilterAttribute來進行統(tǒng)一返回值的封裝,對.NetCore?Web?Api?統(tǒng)一接口返回值格式相關(guān)知識感興趣的朋友一起看看吧
    2022-03-03
  • Win7安裝Visual Studio 2015失敗的解決方法

    Win7安裝Visual Studio 2015失敗的解決方法

    這篇文章主要為大家詳細介紹了Win7安裝Visual Studio 2015失敗的解決方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • asp.net 頁面逐步呈現(xiàn)的方法總結(jié)

    asp.net 頁面逐步呈現(xiàn)的方法總結(jié)

    分塊編碼 ( chunked encoding )就是讓 response 分塊編碼進行傳輸。response 分塊編碼,可以先傳輸一部分不需要處理的 html 代碼到客戶端,等其他耗時代碼執(zhí)行完畢后再傳輸另外的 html 代碼。
    2010-06-06
  • 封裝的一個asp.net驗證碼類

    封裝的一個asp.net驗證碼類

    昨天在一個Q群上面群主發(fā)了一個用ASP.NET實現(xiàn)驗證碼的demo,下載下來然后運行正常,頁面上的img標簽成功調(diào)用了一個一般處理程序并顯示了中文的驗證碼圖片,雖然有點模糊,但是可見上面是四個中文,圖片背景為白色,背后有噪點線,邊框黑色。
    2010-12-12

最新評論