zoukankan      html  css  js  c++  java
  • 我之前有过的ASP.NET数据层访问方法

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

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

    首先是获得数据库连接对象,我采用的是sqlServer2005 数据库

    1 privatestatic SqlConnection connection;
    2 publicstatic SqlConnection Connection
    3 {
    4 get
    5 {
    6 string connectionString = ConfigurationManager.AppSettings["ConnectionString"];
    7 if (connection ==null)
    8 {
    9 connection =new SqlConnection(connectionString);
    10 connection.Open();
    11 }
    12 elseif (connection.State == System.Data.ConnectionState.Closed)
    13 {
    14 connection.Open();
    15 }
    16 elseif (connection.State == System.Data.ConnectionState.Broken)
    17 {
    18 connection.Close();
    19 connection.Open();
    20 }
    21 return connection;
    22 }
    23 }

    执行返回int的存储过程,我主要用于查询

    代码

    执行有输出参数的sql语句或存储过程,如果使用存储过程,添加操作的存储过程中使用select @id=@@identity,程序接收这个输出值来判断添加是否成功。

    删除和更新操作中通过 select @@rowcount 获得行数如果是一来确定操作成功。

    代码

     执行sql语句或者存储过程获得dataReader

    代码

    执行有参存储过程,并返DataSet 

    代码

    主要用于查询的方法

    代码
    ///<summary>
    /// 执行有参SQL语句或者存储过程,并返回执行行数 存储过程中用select @@表示
    /// 0为存储过程 1为sql语句
    ///</summary>
    ///<param name="sql"></param>
    ///<param name="nType"></param>
    ///<param name="values"></param>
    ///<returns></returns>
    publicstaticint 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;
    }
  • 相关阅读:
    多线程案例龟兔赛跑
    不靠谱的事
    生命的价值并不止于自己的幸福
    我的高中搞笑班主任
    AgileChina参会笔记
    上美食
    程序中保留一个Dump
    骗子公司驾到
    我的《野蛮生长》书摘
    最近看的书的清单
  • 原文地址:https://www.cnblogs.com/needrunning/p/1818472.html
Copyright © 2011-2022 走看看