一个简单的DAO

以下是个简单的DAO,以后会有复杂多样的,方便初学者学习或者简单的小程序。

这是 链接SQL SEVER,对于需要连接oracle数据库的,只需要把想对应的给给换

using System.Data.SqlClient;=>using System.Data.OracleClient;
SqlConnection=>OracleConnection
SqlCommand=>OracleCommand
System.Data.SqlClient.SqlException=>System.Data.OracleClient.OracleException
SqlTransaction=>OracleTransaction
……
以此类推


using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;


namespace DAO
{
    class DbHelperSqlSev
    {
        //数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.		
        public string connectionString = Connection.TESR_DB_sqlConntionString;

        public DbHelperSqlSev()
        {

        }

        public DbHelperSqlSev(string connectionString)
        {
            this.connectionString = connectionString;
        }

        #region  执行简单SQL语句

        /// <summary>
        /// 执行SQL语句,返回影响的记录数。增、删、改数据
        /// </summary>
        /// <param name="SQLString">SQL语句</param>
        /// <returns>影响的记录数</returns>
        public int ExecuteSql(string SQLString)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                using (SqlCommand cmd = new SqlCommand(SQLString, connection))
                {
                    try
                    {
                        connection.Open();
                        int rows = cmd.ExecuteNonQuery();
                        return rows;
                    }
                    catch (System.Data.SqlClient.SqlException e)
                    {
                        throw e;
                    }
                    finally
                    {
                        if (connection.State != ConnectionState.Closed)
                        {
                            connection.Close();
                            connection.Dispose();
                        }
                    }
                }
            }
        }

               
        /// <summary>
        /// 执行查询语句,返回DataSet
        /// </summary>
        /// <param name="SQLString">查询语句</param>
        /// <returns>DataSet</returns>
        public DataSet Query(string SQLString)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                DataSet ds = new DataSet();
                try
                {
                    connection.Open();
                    SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
                    command.Fill(ds, "ds");
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    throw ex;
                }
                finally
                {
                    if (connection.State != ConnectionState.Closed)
                    {
                        connection.Close();
                        connection.Dispose();
                    }
                }
                return ds;
            }
        }

        /// <summary>
        /// 执行带一个存储过程参数的的SQL语句。
        /// </summary>
        /// <param name="SQLString">SQL语句</param>
        /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
        /// <returns>影响的记录数</returns>
        public int ExecuteSql(string SQLString, string content)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand cmd = new SqlCommand(SQLString, connection);
                System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content",  SqlDbType.NVarChar);
                myParameter.Value = content;
                cmd.Parameters.Add(myParameter);
                try
                {
                    connection.Open();
                    int rows = cmd.ExecuteNonQuery();
                    return rows;
                }
                catch (System.Data.SqlClient.SqlException E)
                {
                    throw E;
                }
                finally
                {
                    if (connection.State != ConnectionState.Closed)
                    {
                        connection.Close();
                        connection.Dispose();
                    }
                }
            }
        }
        #endregion
    }
}



连接数据库的类:

using System.Configuration;

namespace DAO
{//连接数据库类
    public class Connection
    {
        private static string _TESR_DB_sqlConntionString = null;
        public static string TESR_DB_sqlConntionString {
            get
            {
                if (string.IsNullOrEmpty(_TESR_DB_sqlConntionString))
                {
                    GetTESR_DB_sqlConntionString();
                }
                return _TESR_DB_sqlConntionString;
            }
        }

        private static void GetTESR_DB_sqlConntionString()
        {
            _TESR_DB_sqlConntionString = ConfigurationManager.ConnectionStrings["TESR_DB"].ConnectionString;
            // _TESR_DB_sqlConntionString = "user id=sa;Data Source=127.1.1.1;password=12345678;Persist Security Info=True;";
        }
    }
}



以下就是个使用查询的一个例子:

        public DataSet GetDate()
        {
            const string sql = @"select * from [table]";
            try
            {
                var ds = new DbHelperSqlSev().Query(sql);
                return ds;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值