C#数据库帮助类SqlHelper
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.OleDb;
using System.Data;
using System.Configuration;
using System.Data.Sql;
using System.Data.SqlClient;
namespace DAL
{
public class SqlHelper
{
public static string connstring = ConfigurationManager.ConnectionStrings["zzconstr"].ConnectionString;
//public static string connstring = "Data Source=ZZ-PC;Initial Catalog=IPTVDB;User ID=sa;Password=sa";
/// <summary>
/// 执行非查询,返回受影响行数,异常返回-1;
/// </summary>
/// <param name="sql"></param>
/// <param name="type"></param>
/// <param name="pars"></param>
/// <returns></returns>
public static bool ExceNonQuery(string sql, CommandType type, IDataParameter[] pars)
{ SqlConnection con = new SqlConnection(connstring);
SqlCommand com = new SqlCommand(sql, con); if (pars != null && pars.Length > )
{
foreach (SqlParameter pp in pars)//把参数集全部加进去
com.Parameters.Add(pp);
}
try
{
con.Open();
int t = com.ExecuteNonQuery();
if (t > )
{
return true;
}
else
return false;
}
catch (Exception e) { return false; }
finally
{
com.Parameters.Clear();
com.Dispose();
con.Close();
}
}
/// <summary>
/// 执行sql语句的查询,返回查询的数量。异常返回-1.
/// </summary>
/// <param name="sql"></param>
/// <param name="type"></param>
/// <param name="pars"></param>
/// <returns></returns>
public static int ExceQuery(string sql, CommandType type, IDataParameter[] pars)
{
SqlConnection con = new SqlConnection(connstring);
SqlCommand com = new SqlCommand(sql, con);
com.CommandType = type;
if (pars != null && pars.Length > )
{
foreach (SqlParameter pp in pars)//把参数集全部加进去
com.Parameters.Add(pp);
}
try
{
con.Open();
if (com.ExecuteScalar() != null)//查询结果为空时返回0
{
int t = (int)com.ExecuteScalar(); return t;
}
else
return -;
}
catch (Exception e) { return -; }
finally
{
com.Parameters.Clear();
com.Dispose();
con.Close();
}
}
/// <summary>
/// 执行查询,返回一个数据集
/// </summary>
/// <param name="sql"></param>
/// <param name="pars"></param>
/// <returns></returns>
public static DataSet ExcueReturnDataset(string sql, IDataParameter[] pars)
{
SqlConnection con = new SqlConnection(connstring);
DataSet set = new DataSet();
SqlCommand com = new SqlCommand(sql, con);
if (pars != null && pars.Length > )
{
foreach (SqlParameter pp in pars)//把参数集全部加进去
com.Parameters.Add(pp);
} SqlDataAdapter adpter = new SqlDataAdapter(com); try
{
set.Clear();
adpter.Fill(set);
return set;
}
catch (Exception ex) { return null; }
finally {
com.Parameters.Clear();
com.Dispose();
con.Close();
} }
public static DataSet ExcueReturnDataset(string sql,CommandType type,IDataParameter[] pars)
{
SqlConnection con = new SqlConnection(connstring);
DataSet set = new DataSet();
SqlCommand com = new SqlCommand(sql, con);
com.CommandType = type;
if (pars != null && pars.Length > )
{
foreach (SqlParameter pp in pars)//把参数集全部加进去
com.Parameters.Add(pp);
} SqlDataAdapter adpter = new SqlDataAdapter(com); try
{
set.Clear();
adpter.Fill(set);
return set;
}
catch (Exception ex) { return null; }
finally
{
com.Parameters.Clear();
com.Dispose();
con.Close();
} }
public static IDataReader ExcueReturnDataReader(string sql, IDataParameter[] pars)
{
SqlConnection con = new SqlConnection(connstring);
SqlCommand com = new SqlCommand(sql, con); SqlDataReader reader;
if (pars != null && pars.Length > )
{
foreach (SqlParameter pp in pars)//把参数集全部加进去
com.Parameters.Add(pp);
}
try
{
con.Open();
reader = com.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
catch (Exception ex)
{ return null;
}
finally {
com.Parameters.Clear();
com.Dispose();
//con.Close();
} }
/// <summary>
/// 执行存储过程,返回影响的行数
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <param name="rowsAffected">影响的行数</param>
/// <returns></returns>
public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected)
{
using (SqlConnection connection = new SqlConnection(connstring))
{
int result;
connection.Open();
SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcedure;
if (parameters!= null && parameters.Length > )
{
foreach (SqlParameter pp in parameters)//把参数集全部加进去
command.Parameters.Add(pp);
}
command.Parameters.Add("@return","").Direction = ParameterDirection.ReturnValue;
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters["@return"].Value;
connection.Close();
return result;
}
}
/// <summary>
/// 执行存储过程
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <param name="tableName">DataSet结果中的表名</param>
/// <returns>DataSet</returns>
public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
{
using (SqlConnection connection = new SqlConnection(connstring))
{
DataSet dataSet = new DataSet();
SqlCommand com = new SqlCommand(storedProcName, connection);
com.CommandType =CommandType.StoredProcedure;
if (parameters != null && parameters.Length > )
{
foreach (SqlParameter pp in parameters)//把参数集全部加进去
com.Parameters.Add(pp);
} SqlDataAdapter adpter = new SqlDataAdapter(com);
adpter.Fill(dataSet, tableName);
return dataSet;
}
}
/// <summary>
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="SQLString">查询语句</param>
/// <returns>DataSet</returns>
public DataSet Query(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connstring))
{
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
command.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return ds;
}
}
}
}
http://www.open-open.com/lib/view/open1391348424801.html
C#数据库帮助类SqlHelper的更多相关文章
- 数据库操作类《SqlHelper》
一.背景 在看了一本书叫<Visual Studio 2010(C#)Windows数据库项目开发>后,觉得很多编程技术需要积累,因为一个简单的项目里包含的技术太多了,容易忘记.每次需要用 ...
- 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类
在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...
- 微软官方SqlHelper类 数据库辅助操作类
数据库操作类真的没有必要自己去写,因为成熟的类库真的非常完善了,拿来直接用就好,省时省力. 本文就为大家介绍微软官方的程序PetShop4.0中的SqlHelper类,先来做一下简单的介绍,PetSh ...
- 我也来写:数据库访问类DBHelper
一.前言 相信许多人都百度过:“.net 数据库访问类”.然后就出来一大堆SqlHelper.我也用过这些SqlHelper,也自己写过,一堆静态方法,开始使用起来感觉很不错,它们也确实在很多时候可以 ...
- 我也来写:数据库访问类DBHelper(转)
一.前言 相信许多人都百度过:“.net 数据库访问类”.然后就出来一大堆SqlHelper.我也用过这些SqlHelper,也自己写过,一堆静态方法,开始使用起来感觉很不错,它们也确实在很多时候可以 ...
- ADO.NET复习总结(5)--工具类SqlHelper 实现登录
工具类SqlHelper 即:完成常用数据库操作的代码封装 一.基础知识1.每次进行操作时,不变的代码: (1)连接字符串:(2)往集合存值:(3)创建连接对象.命令对象:(4)打开连接:(5)执行命 ...
- C#全能数据库操作类及调用示例
C#全能数据库操作类及调用示例 using System; using System.Data; using System.Data.Common; using System.Configuratio ...
- 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...
- DataAccess通用数据库访问类,简单易用,功能强悍
以下是我编写的DataAccess通用数据库访问类,简单易用,支持:内联式创建多个参数.支持多事务提交.支持参数复用.支持更换数据库类型,希望能帮到大家,若需支持查出来后转换成实体,可以自行扩展dat ...
随机推荐
- Java从零开始学三(public class和class)
使用public class和class声明的区别 public class文件名称必须与类名称一致 class文件名称可以与类名称不一致
- Wide - Residual - Inception Networks for R eal - time O bject D etection
本文的提出了一个WR-inception网络结构.只需更小的内存消耗和更小的计算量. 作者使用了一种微结构,整个宏观网络都是由这个微结构组成. 微结构 微结构的种类如下: 基本的残差结构(3*3,3* ...
- SettingsEditplus
迁移时间:2017年5月20日10:51:51Author:Marydon官网下载 http://www.editplus.com/设置一 1.修改字体大小及背景色 首选项-->Genera ...
- API密钥
什么是API密钥? 答:在api调用时,用来按照指定规则对您的请求参数进行签名,服务器收到你的请求时会进行签名验证,即可以界定你的身份也可以防止其他人通过某种手段恶意篡改你的请求数据. 密钥的使用? ...
- 1038. Recover the Smallest Number (30)
题目链接:http://www.patest.cn/contests/pat-a-practise/1038 题目: 1038. Recover the Smallest Number (30) 时间 ...
- [转载]windows7中没用boot.ini文件而是改用BCDEDIT来配置了
原文地址:windows7中没用boot.ini文件而是改用BCDEDIT来配置了作者:开心骝哥 本人安装的Win7,因为机上有两个系统,一个dos系统,一个win7系统,开机时总是会在系统选择的界面 ...
- jquerymobile 的特有 事件 和 方法 (转)
1.触摸屏事件—— Touch events tap Triggers after a quick, complete touch event. 本人实际测试效果:轻轻点击,效果和按普通按钮差不多. ...
- Python练习笔记——采用生成器函数实现两数之间的素数计算
题目:编写一个生成器函数myprimes(start, end),实现[start, end)范围内的所有素数计算2 3 5 7. ... 第一 常规函数方法 方法1 def myprime(num) ...
- RHCE7 -- IPv6
IPV6地址一个128位数字 如果在IPv6地址后面包括TCP和UDP网络端口,建议将IPv6放在方括号中,以便区分: [2001:db8:0:10::1]:80 IPv6的标准子网掩码是&q ...
- linux --> 删除指定目录下所有文件
删除指定目录下所有文件 代码样例: ///////////////////////////////////////////////////// //Name: DeleteFile //Purpose ...