文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>我之前有过的ASP.NET数据层访问方法

我之前有过的ASP.NET数据层访问方法

时间:2010-09-05  来源:dreamhappy

今天在博客园开博,希望能够在这个开放的平台上学到更多,也希望自己能够经常抽出时间增加博客数量,在写博客的同时思考程序代码,思考编程思想,同时沉淀技术.

 今天把我之前做三层Web开发的数据层访问代码拿出来讨论:大家可以在阅读代码后留下自己的看法

/*********************************
 * 类名:DBHelper
 * 功能描述:提供数据访问基础操作
 * ******************************/
namespace kDAL
{
    public static class DBHelper
    {
        
 private static SqlConnection connection;
        public static SqlConnection Connection
        {
            get
            {
                string connectionString = ConfigurationManager.AppSettings["ConnectionString"];
                if (connection == null)
                {
                    connection = new SqlConnection(connectionString);
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Closed)
                {
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Broken)
                {
                    connection.Close();
                    connection.Open();
                }
                return connection;
            }
        }
       代码 /// <summary>
/// 执行返回int的SQL语句或存储过程
/// </summary>
/// <param name="sSqlOrProc">SQL语句或存储过程名</param>
/// <param name="nType">0-存储过程,1-SQL语句</param>
/// <returns>int</returns>
public static int ExecuteCommand(string sSqlOrProc,int nType)
{
SqlCommand cmd
= new SqlCommand(sSqlOrProc, Connection);
if (nType == 0)
{
cmd.CommandType
= CommandType.StoredProcedure;
}
return cmd.ExecuteNonQuery();
}

 

/// <summary> /// 执行返回int的SQL语句或存储过程 /// </summary> /// <param name="sSqlOrProc">SQL语句或存储过程名</param> /// <param name="nType">0-存储过程,1-SQL语句</param> /// <param name="values">存储过程参数列表</param> /// <returns>int</returns> public static int ExecuteCommand(string sSqlOrProc, int nType, params SqlParameter[] values) { SqlCommand cmd = new SqlCommand(sSqlOrProc, Connection); if (nType == 0) { cmd.CommandType = CommandType.StoredProcedure; } cmd.Parameters.AddRange(values); SqlParameter returnValue = cmd.Parameters.Add("returnValue", SqlDbType.Int, 4); returnValue.Direction = ParameterDirection.ReturnValue; cmd.ExecuteNonQuery(); return Convert.ToInt32(returnValue.Value.ToString()); } /// <summary> /// 执行返回int(output)的SQL语句或存储过程 /// </summary> /// <param name="sSqlOrProc">SQL语句或存储过程名</</param> /// <param name="nType">0-存储过程,1-SQL语句</param> /// <param name="nOutput">output参数</param> /// <param name="values">存储过程参数列表</param> /// <returns>int(output)</returns> public static int ExecuteCommand1(string sSqlOrProc, int nType,string sOutput, params SqlParameter[] values) { SqlCommand cmd = new SqlCommand(sSqlOrProc, Connection); if (nType == 0) { cmd.CommandType = CommandType.StoredProcedure; } cmd.Parameters.AddRange(values); SqlParameter output = cmd.Parameters.Add(sOutput, SqlDbType.BigInt, 8); output.Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); return Convert.ToInt32(output.Value.ToString()); } /// <summary> /// 执行无参SQL语句,并返回执行行数 /// </summary> public static int GetScalar(string safeSql) { SqlCommand cmd = new SqlCommand(safeSql, Connection); int result = Convert.ToInt32(cmd.ExecuteScalar()); return result; } /// <summary> /// 执行有参SQL语句,并返回执行行数 /// </summary> public static int GetScalar(string sql, params SqlParameter[] values) { SqlCommand cmd = new SqlCommand(sql, Connection); cmd.Parameters.AddRange(values); int result = Convert.ToInt32(cmd.ExecuteScalar()); return result; } /// <summary> /// 执行有参SQL语句或者存储过程,并返回执行行数 存储过程中用select @@表示 /// 0为存储过程 1为sql语句 /// </summary> /// <param name="sql"></param> /// <param name="nType"></param> /// <param name="values"></param> /// <returns></returns> public static int GetScalar(string sql,int nType, params SqlParameter[] values) { SqlCommand cmd = new SqlCommand(sql, Connection); if (nType == 0) { cmd.CommandType = CommandType.StoredProcedure; } if (nType == 1) { cmd.CommandType = CommandType.Text; } cmd.Parameters.AddRange(values); int result = Convert.ToInt32(cmd.ExecuteScalar()); return result; } } }

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载