zoukankan      html  css  js  c++  java
  • 三层框架 手动设置SQLHelper

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    using System.Configuration;
    using System.Data.SqlClient;
    using System.Data;

    namespace MyCourseManageProject.Dal
    {
    public class SQLHelper
    {
    //定义数据库链接字符串(放到配置文件中)
    //private static string ConnStrng = "service=.;uid=sa;pwd=ok;database=CourseManageDB";
    //添加引用 Configuration;
    private static string ConnString = ConfigurationManager.ConnectionStrings["SQLServerConnString"].ToString();


    /// <summary>
    /// 执行增删改操作的方法
    /// </summary>
    /// <param name="cmdText">SQL语句也可以是存储过程名称</param>
    /// <param name="param">参数数组(可有可无</param>
    /// <param name="isStoredProcedure">是否存储过程(默认false)</param>
    /// <returns>返回受影响的行数</returns>
    public static int Update(string cmdText,SqlParameter[] param=null,bool isStoredProcedure=false)
    {
    //创建连接数据库对象
    SqlConnection conn = new SqlConnection(ConnString);
    //
    SqlCommand cmd = new SqlCommand(cmdText, conn);
    //参数不等于空
    if (param != null)
    {
    cmd.Parameters.AddRange(param);
    }
    //是否存储过程
    if (isStoredProcedure)
    {
    cmd.CommandType = CommandType.StoredProcedure;
    }
    try
    {

    conn.Open();
    //读取数据库
    return cmd.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
    //添加日志,抛出异常
    throw new Exception("执行 public static int Update(string cmdText,SqlParameter[] param=null,bool isStoredProcedure=false)方法时,出现异常:" + ex.Message);
    }
    finally
    {
    conn.Close();
    }
    }

    /// <summary>
    /// 执行返回一个只读结果集查询方法
    /// </summary>
    /// <param name="cmdText">SQL语句或存储过程</param>
    /// <param name="param">SQL语句或存储过程中的参数数组</param>
    /// <param name="isStoredProcedure">是否存在存储过程</param>
    /// <returns>返回未读取数据的Reader对象</returns>
    public static SqlDataReader GetReader(string cmdText,SqlParameter[] param=null,bool isStoredProcedure=false)
    {
    //创建连接数据库对象
    SqlConnection conn = new SqlConnection(ConnString);
    //
    SqlCommand cmd = new SqlCommand(cmdText, conn);
    //参数不等于空
    if (param != null)
    {
    cmd.Parameters.AddRange(param);
    }
    //是否存储过程
    if (isStoredProcedure)
    {
    cmd.CommandType = CommandType.StoredProcedure;
    }
    try
    {

    conn.Open();
    //读取数据库
    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
    }
    catch (Exception ex)
    {
    //添加日志,抛出异常
    throw new Exception("执行 public static SqlDataReader GetReader((string cmdText,SqlParameter[] param=null,bool isStoredProcedure=false)方法时,出现异常:" + ex.Message);
    }

    }

    /// <summary>
    /// 执行返回单一结果的方法;
    /// </summary>
    /// <param name="cmdText">SQL语句也可以是存储过程名称</param>
    /// <param name="param">参数数组(可有可无</param>
    /// <param name="isStoredProcedure">是否存储过程(默认false)</param>
    /// <returns>返回受影响的数值</returns>
    public static object GetScalar(string cmdText, SqlParameter[] param = null, bool isStoredProcedure = false)
    {
    //创建连接数据库对象
    SqlConnection conn = new SqlConnection(ConnString);
    //
    SqlCommand cmd = new SqlCommand(cmdText, conn);
    //参数不等于空
    if (param != null)
    {
    cmd.Parameters.AddRange(param);
    }
    //是否存储过程
    if (isStoredProcedure)
    {
    cmd.CommandType = CommandType.StoredProcedure;
    }
    try
    {
    conn.Open();
    //读取数据库
    return cmd.ExecuteScalar();
    }
    catch (Exception ex)
    {
    //添加日志,抛出异常
    throw new Exception("执行 public static object GetScalar(string cmdText,SqlParameter[] param=null,bool isStoredProcedure=false)方法时,出现异常:"+ex.Message);
    }
    finally
    {
    conn.Close();
    }
    }
    }
    }

    App.config添加部分

    <connectionStrings>
    <add name="SQLServerConnString" connectionString= "server=.;uid=sa;pwd=ok;DataBase=CourseManageDB"></add>
    </connectionStrings>

  • 相关阅读:
    [算法]Rotate Array
    [java]Arrays.copyOf() VS System.arrayCopy()
    [java]注解
    [算法]String to Integer(atoi)
    微软2014校园招聘笔试题
    [算法]数组中未出现的最小正整数
    [算法]数组排序之后相邻数的最大差值
    [算法]求最短通路值
    [算法]数组的partition调整
    mac 解决安卓模拟器链接不上网络
  • 原文地址:https://www.cnblogs.com/x666066/p/10266992.html
Copyright © 2011-2022 走看看