SqlHelper 資料庫操作類

來源:互聯網
上載者:User

 

 

sqlHelper.cs

 

Code
using System.Data;
using System.Data.SqlClient;

namespace lsb.DBUtility
{
    /// <summary>
    /// SQL Server 資料庫操作類
    /// </summary>
    public class SqlHelper : lsb.DBtility.IDBHelper
    {
        private string ConnectionString;

        private SqlConnection conn;
        private SqlDataAdapter da;
        private SqlCommand cmd;

        public bool GetConnectionString(ref string ErrMsg)
        {
            ConnectionString = "Data Source=.;Initial Catalog=Hotel;Integrated Security=True";
            return true;
        }

        public bool Open(ref string ErrMsg)
        {
            try
            {
                conn = new SqlConnection();
                if ((conn.State == ConnectionState.Broken) || (conn.State == ConnectionState.Closed))
                {
                    if (!GetConnectionString(ref ErrMsg))
                    {
                        return false;
                    }
                    conn.ConnectionString = ConnectionString;
                    conn.Open();
                    return true;
                }
                return false;
            }
            catch (SqlException ex)
            {
                this.SetErrMsg(ex, ref ErrMsg);
                return false;
            }
        }

        public bool Close(ref string ErrMsg)
        {
            try
            {
                if ((conn.State != ConnectionState.Broken) && (conn.State != ConnectionState.Closed))
                {
                    conn.Close();
                    return true;
                }
                return false;
            }
            catch (SqlException ex)
            {
                this.SetErrMsg(ex, ref ErrMsg);
                return false;
            }
        }

        public bool ExceuteNonQuery(string sql, ref string ErrMsg)
        {
            throw new System.NotImplementedException();
        }

        public bool GetDataSet(string sql, ref DataSet ds, ref string ErrMsg)
        {
            throw new System.NotImplementedException();
        }

        private bool SetErrMsg(SqlException ex, ref string ErrMsg)
        {
            ErrMsg = ex.Message;
            return true;
        }

    }
}

 

IDBHelper.cs

 

Code
using System;
using System.Data;

namespace lsb.DBtility
{
    public interface IDBHelper
    {
        /// <summary>
        /// 取得資料庫連接字串
        /// </summary>
        /// <returns></returns>
        bool GetConnectionString(ref string ErrMsg);

        /// <summary>
        /// 開啟資料庫連接
        /// </summary>
        bool Open(ref string ErrMsg);

        /// <summary>
        /// 關閉資料庫連接
        /// </summary>
        bool Close(ref string ErrMsg);

        /// <summary>
        /// 執行 SQL 語句 無返回結果
        /// </summary>
        bool ExceuteNonQuery(string sql, ref string ErrMsg);

        /// <summary>
        /// 取得DataSet資料集
        /// </summary>
        bool GetDataSet(string sql, ref DataSet ds, ref string ErrMsg);

    }
}

 

 

不知道這樣寫好不好, 心裡還沒有數 ~~

上面的方法中要不要用 ref stirng ErrMsg 呢?

還是把上面的方法改為靜態方法?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.