sqlhelper 类

 public static class SqlHelper
    {
        //获取配置文件中的连接字符串
        private static readonly string constr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString;

        /// <summary>
        /// 执行insert、delete、update的方法
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pms"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
        {
            using (SqlConnection con = new SqlConnection(constr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    //如果pms为null,则直接调用cmd.Parameters.AddRange(pms)会报错。
                    if (pms != null)
                    {
                        cmd.Parameters.AddRange(pms);
                    }
                    con.Open();
                    return cmd.ExecuteNonQuery();
                }

            }
        }

        /// <summary>
        /// 执行sql语句,返回单个值。
        /// </summary>
        /// <param name="sql">要执行的sql语句</param>
        /// <param name="pms">sql语句中的参数</param>
        /// <returns></returns>
        public static object ExecuteScalar(string sql, params SqlParameter[] pms)
        {
            using (SqlConnection con = new SqlConnection(constr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    //如果pms为null,则直接调用cmd.Parameters.AddRange(pms)会报错。
                    if (pms != null)
                    {
                        cmd.Parameters.AddRange(pms);
                    }
                    con.Open();
                    return cmd.ExecuteScalar();
                }

            }
        }

        /// <summary>
        /// 执行sql语句返回一个DataReader
        /// 当返回DataReader的时候,注意:
        /// 1.Connection不能关闭
        /// 2.DataReader不能关闭
        /// 3.command对象执行ExecuteReader()的时候需要传递一个参数CommandBehavior.CloseConnection
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pms"></param>
        /// <returns></returns>
        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)
        {
            SqlConnection con = new SqlConnection(constr);
            using (SqlCommand cmd = new SqlCommand(sql, con))
            {
                if (pms != null)
                {
                    cmd.Parameters.AddRange(pms);
                }
                con.Open();
                //当调用ExecuteReader()方法的时候,如果传递一个CommandBehavior.CloseConnection参数,则表示将来当用户关闭reader的时候,系统会自动将Connection也关闭掉。
                SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                return reader;
            }

        }

        /// <summary>
        /// 封装一个返回DataTable的方法。
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pms"></param>
        /// <returns></returns>
        public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)
        {
            SqlDataAdapter sqlAdapter = new SqlDataAdapter(sql, constr);
            if (pms != null)
            {
                sqlAdapter.SelectCommand.Parameters.AddRange(pms);
            }
            DataTable dt = new DataTable();
            sqlAdapter.Fill(dt);
            return dt;
        }
    }
时间: 2024-10-11 18:05:12

sqlhelper 类的相关文章

分享一个简单的简单的SQLHelper类

分享一个简单的简单的SQLHelper类,代码如下: 1 class SqlHelper 2 { 3 public static readonly string connstr = 4 ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString; 5 6 public static int ExecuteNonQuery(string cmdText, 7 params SqlParameter[] para

ASP.NET MVC 排球计分程序 (四)实体类和SqlHelper类的设计

整体解决方案的图如下: . 在Model里添加一个叫PersonA的类 public class PersonA { public int id { get; set; } public string name { get; set; } } 添加一个叫PersonB的类 public class PersonB { public int id { get; set; } public string name { get; set; } } 添加一个叫ScoreA的类 public class

sqlhelper类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace Com.LingHu.Db { /// <summary> /// XX出品 /// 这个类是用来简化ADO.NET操作的. /// </summary> public class SqlHelpe

C#封装CRUD到SqlHelper类解读

1.简单说明一下,一般情况下,数据库连接字符串是在App.config文件中进行配置,然后再在代码中进行引用.因此,我们在这里先看一下App.config文件. 首先看需要添加的内容: 参数说明: name:表示键值,在代码中需要通过这键值来找到对应的连接字符串信息. connectionString:链接数据库的字符串信息.Server:数据库服务器,Database:数据库,uid:数据库账户名,pwd:数据库密码 <?xml version="1.0" encoding=&

C#操作数据库SqlHelper类

/* 创建者:菜刀居士的博客 * 创建日期: 2014年09月01号 * 功能:SqlHelper类,操作数据库 * */ namespace Net.String.ConsoleApplication { using System; using System.Data; using System.Data.SqlClient; public sealed class SqlHelper { private SqlHelper() { } public static int ExecuteNon

SqlHelper类(V1)

1 static class SqlHelper 2 { 3 //app.config文件的继承: 4 5 public static readonly string connstr = 6 ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; 7 8 public static int ExecuteNonQuery(string sql, 9 params SqlParameter[] paramet

强大的SQLHelper类

在做机房收费系统的时候,曾经使用过Sqlhelper,当时对此内容理解不是很好,参照的是下篇的博客: vb.net-SQLHelper类的使用 而做过之后,当再次回首往事的时候,发现这个SQLHelper类并 不是那么的强大.其实可以在多扩充些.并且不好的地方是没有加入安全的事务机制,在此小编在前人的基础上,模仿别人写了一个类似的Sqlhelper.先看下类图. 首先看一下此类,一共包含了13中方法,是对数据库增删改查的扩充,方便了用户的各种操作.比如当查询数据库的时候,可以返回DataRow.

JAVA WEB SQLHelper类的封装

在这次做项目中,我对自己最满意的就是封装了一下SQLHelper类,我对自己感到骄傲主要是 我是初学者,我刚开始不知道可以这样做,我只是想着试着去这样做了,结果真的可以,所以我 在我的模块就自己封装了一个SQLHelper,虽然下面用的这个不是很好,但是基本上满足需求, 因为似乎所有类都能转换为String,所以就用String数组来补充sql语句中的可变参数,但是有 一个问题,就是在调用的时候第二个参数必须为null,或者String数组,如果只有一个参数,也 要用String数组的形式传进去

分装一个SqlHelper类方便使用,着重理解params Sql

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Configuration; using _17

整理出一个比较实用的SqlHelper类 满足大多数情况的使用

/// <summary> /// SqlHelper类 by zy 2017-8-17 /// </summary> public sealed class SqlHelper { //如果项目中只连接了一个数据库 那么可以在此定义一个固定的连接字符串 private static string connectionStr = ConfigurationManager.ConnectionStrings["SQLConnString1"].Connection