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>

  • 相关阅读:
    Qt单元测试工具 QTestlib(QVERIFY, QFETCH, QCOMPARE等)
    再续FPGA初心,京微齐力脱胎京微雅格重新起航(700万元天使轮,泰有基金领投,水木基金、臻云创投、泰科源跟投。数千万元Pre-A轮融资,领投方为海康基金)
    为何放弃 C++ 的工作(开发慢,难度高。完全不适应互联网的快速迭代的思想)
    c++ try catch 问题(没有throw就会被删除,加上/EHa这样就不会被删除)
    西方教育骗局,终于明白精英和普通人的残酷差别!(该校流传着一个数字——4。即“4小时睡眠、4杯咖啡、GPA4.0”——要想获得满分为4分的成绩,每天只睡4个小时,困了就喝4大杯咖啡)
    分析Net 内存对象
    Dynamic Routing Based On Redis
    词云
    vim与sublime
    ASP.NET Core 2.0 源代码
  • 原文地址:https://www.cnblogs.com/x666066/p/10266992.html
Copyright © 2011-2022 走看看