我的SqlHelper类!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
namespace Dal
{
public class SqlHelper
{
/// <summary>
/// 连接字符串
/// </summary>
private static readonly string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
/// <summary>
/// 执行Sql语句,返回影响行数(主要用:insert,update,delete)使用查找语句:返回-1
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="para"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql, CommandType cmdtype, params SqlParameter[] para)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.CommandType = cmdtype;
if (para != null)
{
cmd.Parameters.AddRange(para);
}
if (conn.State != ConnectionState.Open)
{
conn.Close();
conn.Open();
}
return cmd.ExecuteNonQuery();
}
}
}
/// <summary>
/// 执行Sql语句,返回首行首列的值
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="para"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql, CommandType cmdtype, params SqlParameter[] para)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.CommandType = cmdtype;
if (para != null)
{
cmd.Parameters.AddRange(para);
}
if (conn.State != ConnectionState.Open)
{
conn.Close();
conn.Open();
}
return cmd.ExecuteScalar();
}
}
}
/// <summary>
/// 执行sql语句,返回SqlDataReader
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="para"></param>
/// <returns></returns>
public static SqlDataReader ExecuteReader(string sql, CommandType cmdtype, params SqlParameter[] para)
{
SqlConnection conn = new SqlConnection(connStr);
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.CommandType = cmdtype;
if (para != null)
{
cmd.Parameters.AddRange(para);
}
try
{
if (conn.State != ConnectionState.Open)
{
conn.Close();
conn.Open();
}
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
conn.Close();
conn.Dispose();
throw;
}
}
}
public static DataTable ExecuteDataTable(string sql, CommandType cmdtype, params SqlParameter[] para)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlDataAdapter adt = new SqlDataAdapter(sql, conn))
{
DataTable dt = new DataTable();
adt.SelectCommand.CommandType = cmdtype;
if (para != null)
{
adt.SelectCommand.Parameters.AddRange(para);
}
if (conn.State != ConnectionState.Open)
{
conn.Close();
conn.Open();
}
adt.Fill(dt);
return dt;
}
}
}
}
}
附上:WEB.CONFIG配置文件(数据库连接)
<connectionStrings>
<add name="Connstr" connectionString="Data Source=.;Initial Catalog=MALL;User Id=name;Password=pwd;" providerName="System.Data.SqlClient"/>
</connectionStrings>
持续更新更新~~
我的SqlHelper类!的更多相关文章
- 最新的SqlHelper 类
最新的SqlHelper 类 摘自:http://www.cnblogs.com/sufei/archive/2010/01/14/1648026.html using System; using S ...
- c#中sqlhelper类的编写(二)
上一篇文章讲了简易版的SqlHelper类的编写,我们在这里就上一篇文章末尾提出的问题写出解决方案. sql语句注入攻击已经是众所周知的了.我们如何在C#中保护自己的数据库不被这样的方式攻击呢? 不用 ...
- JAVA WEB SQLHelper类的封装
在这次做项目中,我对自己最满意的就是封装了一下SQLHelper类,我对自己感到骄傲主要是 我是初学者,我刚开始不知道可以这样做,我只是想着试着去这样做了,结果真的可以,所以我 在我的模块就自己封装了 ...
- c#中sqlhelper类的编写(一)
在.net平台的项目开发中,凡是用到数据库交互的,都有必要了解SqlHelper类的原理. 步骤一: 我就拿WPF项目开发作为例子.首先要新建一个App.config(应用程序配置文件).注意,在VS ...
- [置顶] 自己写sqlhelper类
自己写sqlhelper类 using System; using System.Collections.Generic; using System.Configuration; using Syst ...
- ADO.NET复习——自己编写SqlHelper类
今天复习了一次ADO.NET基础,整理一下自己的认为的重点: 编写SqlHelper类,方便我们执行数据库语句,这时可以直接调用封装在SqlHelper类的方法.现在大多数公司面试的时候,给你的面试题 ...
- 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类
在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...
- 微软官方SqlHelper类 数据库辅助操作类
数据库操作类真的没有必要自己去写,因为成熟的类库真的非常完善了,拿来直接用就好,省时省力. 本文就为大家介绍微软官方的程序PetShop4.0中的SqlHelper类,先来做一下简单的介绍,PetSh ...
- 整理出一个比较实用的SqlHelper类 满足大多数情况的使用
/// <summary> /// SqlHelper类 by zy 2016-3-11 /// </summary> public sealed class SqlHelpe ...
- C#基于SQLiteHelper类似SqlHelper类实现存取Sqlite数据库的方法
本文实例讲述了C#基于SQLiteHelper类似SqlHelper类实现存取Sqlite数据库的方法.分享给大家供大家参考.具体如下: 这个类不是我实现的,英文原文地址为http://www.egg ...
随机推荐
- C++: 主要知识点
大学期间,学了一学期的C语言,当然包括学习数据结构时,用的也是C语言.当时刚刚接触计算机,对于编程更是一无所知.上课学习学习,偶尔会照着书上敲一下代码.大二下学期,就丢掉了不用了.最近由于工作的需要, ...
- PHP命名规范
以下文字全部摘自<PHP从入门到精通>这本书,谨以此作为标准. 就一般约定而言,类.函数和变量的名字应该是能够让代码阅读者能够容易地知道这些代码的作用,应该避免使用凌磨两可的命名. 1. ...
- date命令总结
date命令是显示或设置系统时间与日期 date(选项)(参数) -d<字符串>:显示字符串所指的日期与时间.字符串前后必须加上双引号: -s<字符串>:根据字符串来设置日期与 ...
- typedef 和 #define 的区别
本文已迁移至: http://www.danfengcao.info/c/c++/2014/02/25/difference-between-define-and-typedef.html typed ...
- Jenkins学习九:Jenkins插件之构建MSBuild
Jenkins是Java语言编写的,一直好奇是否可以构建NET语言的项目,目前只了解到有一个插件MSBuild支持构建NET项目. 一.Jenkins安装插件MSBuild 二.VS构建CsharpH ...
- NOIP2003pj栈[卡特兰数]
题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈). 栈的重要性不言自明,任何 ...
- UVA11525 Permutation[康托展开 树状数组求第k小值]
UVA - 11525 Permutation 题意:输出1~n的所有排列,字典序大小第∑k1Si∗(K−i)!个 学了好多知识 1.康托展开 X=a[n]*(n-1)!+a[n-1]*(n-2)!+ ...
- USACO2.4 The Tamworth Two[模拟]
题目描述 两只牛逃跑到了森林里.农夫John开始用他的专家技术追捕这两头牛.你的任务是模拟他们的行为(牛和John). 追击在10x10的平面网格内进行.一个格子可以是: 一个障碍物, 两头牛(它们总 ...
- 错题分析--ASP.NET
解析:支架模板支持的类型包括Empty.Create.Delete.Details.Edit.List 解析:Spring支持4种依赖检查:默认的是none.因此说法不正确的结果是D 解析:各层之间不 ...
- Python list
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...