SqlDBHelper常用方法
/*=============================================================
*.net连接数据库常用方法
*Author : dongny,Li
*E-mail : xing.dong.li@163.com
*Edition: Beta 1.0
*=============================================================*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
namespace TreeViewHelper
{
public class SqlDBHelper
{
//在配置文件Web.Config中获取连接字符串
public static string connectionStr =ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;
/// <summary>
/// 执行增删改T-SQL语句,返回执行成功与否
/// </summary>
/// <param name="strSql">T-SQL语句或存储过程名称</param>
/// <paramname="cmdType">T-SQL语句类别</param>
/// <param name="param">参数列表</param>
/// <returns>返回值为:true/false</returns>
public static bool DoExecuteNonQuery(string strSql, CommandType cmdType,params SqlParameter[] param)
{
using (SqlConnection con = new SqlConnection(connectionStr))
{
try
{
con.Open();
SqlCommand com = newSqlCommand(strSql, con);
com.CommandType = cmdType;
if (param.Length > 0)
com.Parameters.AddRange(param);
int flag =com.ExecuteNonQuery();
return flag > 0 ? true :false;
}
catch(Exception ex)
{
throw newException("SQL Connection Faile,Bring Error DoExecuteNonQuery :"+ex.Message);
}
finally
{
con.Close();
}
}
}
/// <summary>
/// 执行查询T-SQL语句,返回SqlDataReader对象
/// </summary>
/// <param name="strSql">T-SQL语句或存储过程</param>
/// <param name="cmdType">T-SQL语句类型</param>
/// <param name="param">参数列表</param>
/// <returns>SqlDataReader对象</returns>
public static SqlDataReader GetSqlDataReader(string strSql, CommandTypecmdType, params SqlParameter[] param)
{
SqlConnection con = new SqlConnection(connectionStr);
SqlDataReader sdr = null;
SqlCommand com = null;
try
{
con.Open();
com = new SqlCommand();
com.Connection = con;
com.CommandType = cmdType;
com.CommandText = strSql;
if (param.Length > 0)
com.Parameters.AddRange(param);
sdr =com.ExecuteReader(CommandBehavior.CloseConnection);
return sdr;
}
catch(Exception ex)
{
con.Close();
throw new Exception("SQLConnection Faile ,Bring Error GetSqlDataReader: " + ex.Message);
}
finally
{
com.Dispose();
}
}
/// <summary>
/// 执行查询T-SQL语句,返回DataSet
/// </summary>
/// <param name="strSql">T-SQL语句或存储过程</param>
/// <param name="cmdType">T-SQL语句类型</param>
/// <param name="param">参数列表</param>
/// <returns>DataSet对象</returns>
public static DataSet GetDataSet(string strSql, CommandType cmdType,params SqlParameter[] param)
{
using (SqlConnection con = new SqlConnection(connectionStr))
{
SqlDataAdapter sda = null;
try
{
con.Open();
SqlCommand com = newSqlCommand(strSql, con);
com.CommandType = cmdType;
com.Parameters.AddRange(param);
sda = newSqlDataAdapter(com);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
catch(Exception ex)
{
throw newException("SQL Connection Faile ,Bring error GetDataSet: " +ex.Message);
}
finally
{
sda.Dispose();
con.Close();
}
}
}
/// <summary>
/// 执行查询T-SQL语句,返回DataTable
/// </summary>
/// <param name="strSql">T-SQL语句或存储过程</param>
/// <param name="cmdType">T-SQL语句类型</param>
/// <param name="param">参数列表</param>
/// <returns>DataTable对象</returns>
public static DataTable GetDataTable(string strSql, CommandType cmdType,params SqlParameter[] param)
{
using (SqlConnection con = new SqlConnection(connectionStr))
{
SqlDataAdapter sda = null;
try
{
con.Open();
SqlCommand com = newSqlCommand(strSql, con);
com.CommandType = cmdType;
com.Parameters.AddRange(param);
sda = newSqlDataAdapter(com);
DataTable dt = newDataTable();
sda.Fill(dt);
return dt;
}
catch(Exception ex)
{
throw newException("SQL Connection Faile ,Bring error GetDataTable: " +ex.Message);
}
finally
{
sda.Dispose();
con.Close();
}
}
}
/// <summary>
/// 执行查询T-SQL语句,返回单行记录
/// </summary>
/// <param name="strSql">T-SQL语句或存储过程</param>
/// <param name="cmdType">T-SQL语句类型</param>
/// <param name="param">参数列表</param>
/// <returns>返回Object对象</returns>
public static Object DoExecuteScalar(string strSql, CommandType cmdType,params SqlParameter[] param)
{
Object obj = null;
using (SqlConnection con = new SqlConnection(connectionStr))
{
SqlCommand com = newSqlCommand(strSql, con);
try
{
com.CommandType = cmdType;
com.Parameters.AddRange(param);
com.Connection.Open();
obj = com.ExecuteScalar();
return obj;
}
catch(Exception ex)
{
throw newException("SQL Connection Faile , Bring Error DoExecuteScalar: " +ex.Message);
}
finally
{
com.Dispose();
con.Close();
}
}
}
}
}
SqlDBHelper常用方法的更多相关文章
- 前端开发:Javascript中的数组,常用方法解析
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...
- Jquery元素选取、常用方法
一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...
- python浅谈正则的常用方法
python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...
- C# Webbrowser 常用方法及多线程调用
设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNa ...
- list,tuple,dict,set常用方法
Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...
- 记录yii2-imagine几个常用方法
记录yii2-imagine几个常用方法: //压缩 Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)->save(Yii::g ...
- DOM常用方法总结
DOM(Document Object Model:文档对象模型)为javascript中的一部分,它为访问和修改html文档或xml文档提供了一些编程接口,DOM以对象的形式来描述文档中的内容,以树 ...
- JSP内置对象及常用方法
jsp九大内置对象及四个作用域: 何为作用域 先让我们看看效果: 大概流程是这样的,我们访问index.jsp的时候,分别对pageContext, request, session,applicat ...
- java中集合类中Collection接口中的Map接口的常用方法熟悉
1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...
随机推荐
- js禁止页面复制 禁用页面右键菜单的代码
js实现禁止页面复制功能.禁用页面右键菜单等功能. <body oncontextmenu="return false">禁用网页右键菜单,但是仍然可以使用快捷键复制 ...
- Cookie 的运行机制以及常用规则
一 setCookie bool setcookie ( string name [, string value [, int expire [, string path [, st ...
- openerp模块收藏 基于Lodop的报表打印模块(转载)
基于Lodop的报表打印模块 原文:http://shine-it.net/index.php/topic,7397.0.html 前段时间写了个小模块,来解决OE中报表打印不方便的问题.借鉴了 @b ...
- 《零成本实现Web自动化测试--基于Selenium》 第四章 Selenium 命令
Selenium 命令,通常被称为Selenese,由一系列运行测试案例所需要的命令构成.按顺序排列这些命令就构成了测试脚本. 一. 验证颜面元素 1.Assertion或者Verification ...
- 1102. Invert a Binary Tree (25)
The following is from Max Howell @twitter: Google: 90% of our engineers use the software you wrote ( ...
- static与全局与局部变量的区别
转自:http://www.cnblogs.com/lzjsky/archive/2010/11/19/1882064.html 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变 ...
- VB 思维导图总结(三)
续上篇.vb总结之“思维导图”(2) 第十章.绘制图形 第十一章.数据库技术... 第十二章.总结! 相信有了vb的一个基础,应对接下来的学习会顺畅些.加油!
- cocos2dx中的假动作,又称动作回调函数
1.动作与动画的区别 动作是:定时器+属性的改变,是帧循环的累积效应 动画是:帧图片的播放效果,我们知道电影的播放就是快速播放的胶片,这就是动画的原理 2.假动作:又称动作回调函数 四大类假动作: c ...
- error:LNK2005 已经在*.obj中定义
为什么会出现这个错误??“error LNK2005: 已经在*.obj中定义” 编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误,弄清楚它形成的原 ...
- SQL SERVER 強制指定使用索引 -转载 只为学习
今天很高兴 ,有学会了一种数据库优化的方式,哈哈 今天遇到一個查詢逾時的問題:兩段SQL,只差在WHERE,一個是WHERE COLUMN1='AAA',一個是WHERE COLUMN1='BBB', ...