/*=============================================================

*.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常用方法的更多相关文章

  1. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  2. Jquery元素选取、常用方法

    一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...

  3. python浅谈正则的常用方法

    python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...

  4. C# Webbrowser 常用方法及多线程调用

    设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNa ...

  5. list,tuple,dict,set常用方法

    Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...

  6. 记录yii2-imagine几个常用方法

    记录yii2-imagine几个常用方法: //压缩 Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)->save(Yii::g ...

  7. DOM常用方法总结

    DOM(Document Object Model:文档对象模型)为javascript中的一部分,它为访问和修改html文档或xml文档提供了一些编程接口,DOM以对象的形式来描述文档中的内容,以树 ...

  8. JSP内置对象及常用方法

    jsp九大内置对象及四个作用域: 何为作用域 先让我们看看效果: 大概流程是这样的,我们访问index.jsp的时候,分别对pageContext, request, session,applicat ...

  9. java中集合类中Collection接口中的Map接口的常用方法熟悉

    1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...

随机推荐

  1. centos问题集锦

    一. 为什么新装的centos系统无法使用xshell,putty等工具连接? 原因:sshd服务没有启动. 解决: 1)使用命令rpm -qa | grep ssh查看是否已经安装了ssh 2)使用 ...

  2. 使用cookie解决微信不能存储localStorage的问题

    最近在开发基于微信的Web页面时,发现有些机型不能存储信息到localStorage中,或者是页面一旦关闭,存储的信息也失效了. 于是想到用cookie来替代localStorage,存储一些简单的数 ...

  3. SQL中的自定义函数Function

    先给出一个链接吧,别人写的:http://www.cnblogs.com/diony/archive/2010/12/17/1909014.html 总结得很全面,感谢感谢!自己练习了一下后面的例子, ...

  4. mysql导入的时候提示“1046-No Database selected”的解决办法

    进入phpmyadmin后,先点击左边的要导入的数据库,进入后再点击右上角的“导入‘按钮即可 详细说明 http://www.xmxwl.net/help/member/20160325/13653. ...

  5. System V消息队列

    消息的基本属性 System V的消息属性包含在一个msqid_ds的结构中 struct msqid_ds{ struct ipc_cerm msg_perm; //读取权限, 0644, 0777 ...

  6. 学C++之感悟

    程序设计真的就这么难得入门啊 最要命的事情就是看那些看不懂的书.断断续续地看C++Primer好几天了,还是一点眉目都没有,稀里糊涂的.看得头疼了用Google找过来人留下的东西看,无意中发现了一篇自 ...

  7. 一致性hash应用到redis

    理解分布式存储的本质 有一个经典的实践经验: 数(值)据大了, 什么都是问题! 如果要求128B或更大数值计算, 哪么四则运算会是个大问题! 如果要求128T或更大日志存储, 哪么文件存储会是个大问题 ...

  8. 【BZOJ 1005】[HNOI2008]明明的烦恼

    Description 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为 ...

  9. 微软职位内部推荐-SDE2 (Windows driver)

    微软近期Open的职位: SDE2 (Windows driver) Job title: Software Development Engineer 2 Location: Shanghai, Ch ...

  10. js遍历集合

    首先,描述一下问题.由于需要后台取出数据,遍历展示在table中,大体如下: 后台取出的是 Map<String , List<Object>>,下面是我写得比较朴素一点的写法 ...