ADO数据访问助手类SQLServeHelper.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

namespace test
{
    /// <summary>
    /// 封装对数据库的操作
    /// </summary>
    public sealed class SQLServerDALHelper
    {
        private static string sqlConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        ///<summary>
        ///执行sql语句
        ///</summary>
        ///<param name="sql">sql语句</param>
        public static void ExecuteSQLNonQurey(string sql)
        {
            SqlConnection connection = new SqlConnection(sqlConnectionString);
            connection.Open();
            SqlCommand command = new SqlCommand(sql,connection);
            command.ExecuteNonQuery();
            connection.Close();
        }
        ///<summary>
        ///执行sql语句返回的DataReader
        ///</summary>
        ///<param name="sql">sql语句</param>
        ///<returns>datareader</returns>
        public static SqlDataReader ExecteSQlReader( string sql)
        {
            SqlConnection connection = new SqlConnection(sqlConnectionString);
            connection.Open();
            SqlCommand command = new SqlCommand(sql,connection);
            SqlDataReader sqlReader = command.ExecuteReader();
            return sqlReader;
        }
        ///<summary>
        ///执行存储过程
        ///</summary>
        ///<param name="storedProcedureName">存储过程名称</param>
        ///<param name="parameters">无返回值类型</param>
        public static void ExecuteProcedureNonQuery(string storedProcedureName, IDataParameter[] parameters)
        {
            SqlConnection connection = new SqlConnection(sqlConnectionString);
            connection.Open();
            SqlCommand command = new SqlCommand(storedProcedureName,connection);
            command.CommandType =CommandType.StoredProcedure;
            //command.Connection = connection;
            if (parameters != null)
            {
                foreach (SqlParameter parameter in parameters)
                {
                    command.Parameters.Add(parameter);
                }
            }
            command.ExecuteNonQuery();
            connection.Close();
        }
        ///<summary>
        ///执行存储过程
        ///</summary>
        ///<param name="storedProcedureName">存储过程名</param>
        ///<param name="parametes">参数</param>
        ///<returns>sqldatareader</returns>
        public static SqlDataReader ExecuteProcedureReader(string storedProcedureName,IDataParameter[] parameters)
        {
            SqlConnection connection = new SqlConnection(sqlConnectionString);
            connection.Open();
            SqlCommand command = new SqlCommand(storedProcedureName,connection);
            command.CommandType = CommandType.StoredProcedure;
            if (parameters != null)
            {
                foreach (SqlParameter parameter in parameters)
                {
                    command.Parameters.Add(parameters);
                }
            }
            SqlDataReader sqlReader = command.ExecuteReader();
            return sqlReader;
        }
    }
}

数据访问助手将常用的数据库操作方法 ExecuteScalar()、ExecuteNonQuery()和ExecuteReader()分为SQL语句和存储过程两种实现方式。

通过SQL语句实现时,可以使用如下类似的代码:

SQLSERVERHelper.ExecuteSQlNonQuery(sql);//sql为SQL语句

通过存储过程是现实,可以使用如下类似代码:

SQLServerHelper.ExecuteSQLNonQuery(proc,parameters);//proc存储过程名,参数

时间: 2024-10-11 21:18:31

ADO数据访问助手类SQLServeHelper.cs的相关文章

数据访问公共类

using System; using System.Data; using System.Data.Common; using System.Configuration; using System.Text; using System.Collections.Generic; using System.Data.SqlClient; namespace MDCRM.DAL { /// <summary> /// 数据访问基类 /// </summary> public abstr

【ASP.NET-中级】SQLHelper数据访问公共类

ASP.NET开发中的三层开发思想指的是UI层(界面显示层),BLL层(业务逻辑层),DAL层(数据访问层)三层,三层之间通过函数的调用来达到降低耦合,易于系统维护的目的,SQLHelper助手类的主要作用在于接收并执行来自各个数据表累传来的sql语句或存储过程.一般的SQLHelper类中主要包括以下几个函数功能: 1.执行不带参数的增删改方法 2.执行带参数的增删改方法. 3.执行不带参数的查询方法. 4.执行带参数的查询方法. 作为一个程序员SQLHelper类编写的好坏不仅影响着系统的可

ADO面向对象使用(实体类、数据访问类、范型集合)

ADO面向对象使用: !!!!!在其它文件夹下创建新类,加public!再考虑是不是引用数据库命名空间和其它类的命名空间!是否需要将构造函数写出来,将数据库的两个类实例化!!!!! 实体类:就是封装,将数据库中的表封装成同名的类,里面的成员变量与表里面的列是对应的,一个对象就代表数据库中一行数据: 字段扩展:查询关联的外键表数据,只读! 数据访问类:就是对于实体类对应的数据库进行操作的,就是写方法! 泛型集合: List<T> list = new List<T>(); T代表的就

【2017-04-20】Ado.Net与面向对象结合架构中的数据访问层(实体类,数据访问类)

开发项目三层架构:界面层.业务逻辑层.数据访问层 今天学习一下数据访问层,分为实体类和数据访问类 所有的类放在App_Code这个文件夹下边.养成一个好的习惯. 一.实体类 数据库中的表映射为一个类,类名与表名一致.表中的每一列,都为该类下的成员变量和属性也就是最简单的封装 把数据库中的表名变为类的类名. 把数据库中的每一个列,变为实体类中的成员变量和属性 列名与属性名一致.成员变量名:在列名前边加上下划线.因为在外部访问只能访问到属性,为了看起来一致. using System; using

ADO.NET(完整修改和查询、实体类,数据访问类)

一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = false; Console.Write("请输入要修改的用户名:"); string Uname = Console.ReadLine(); //到数据库中查询输入的用户名是否存在 SqlConnection conn = new SqlConnection("server=.

ado.net 实体类_数据访问类

实体类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 实体类_数据访问类.App_Code { public class Users { private int _code; /// <summary> /// code /// </summary> public int Code { get { return _code; } set

ADO,NET 实体类 和 数据访问类

啥也不说,看代码. --SQl中 --建立ren的数据库,插入一条信息 create database ren go use ren go create table xinxi ( code nvarchar(20) primary key,--编号 name nvarchar(20)--名字 ) insert into xinxi values('1001','zhangsan') 1.建立实体类: 实体类:封装封装一个类,类名与数据库表名一致成员变量名与列名一致,多一个下划线成员变量封装完的

ADO.NET 【实体类】【数据访问类】

认识分层结构,分层式结构是最常见,也是最重要的一种结构. 三层架构(3-tier architecture) 界面层(User Interface layer) 主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问. 业务逻辑层(Business Logic Layer)主要是针对具体的问题的操作,也可以理解成对数据层的操作 数据访问层(Data access layer)主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层 数据访问层包括   实体类 数据访问类 优点

ADO.NET 数据访问类查询、属性扩展

今天,我首先在之前所做的人员管理系统的基础上,利用数据访问类进行了所有人员信息的查询. 主程序代码: List<Users> Ulist = new UsersData().Select(); if (Ulist.Count > 0)//判断是否包含语句 { foreach (Users u1 in Ulist)//遍历 { Console.WriteLine(u1.UserName + " " + u1.PassWord + " " + u1.N