sql help cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
/// <summary>
/// SQLHelper 的摘要描述
/// </summary>
public class SQLHelper
{
private static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString;
#region ExecuteReader():執行并返回一個數據集
/// <summary>
/// 執行一段SqlCommand并返回一個結果集
/// </summary>
/// <param name="strSql">sql語句</param>
/// <param name="Parms">參數</param>
/// <returns></returns>
public SqlDataReader ExecuteReader(string strSql, SqlParameter[] Parms)
{
try
{
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = strSql;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(Parms);
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
conn.Close();
}
}
}
catch (Exception ex)
{
fn_share fn_share = new fn_share();
fn_share.systemLog(strSql + ex.Message);
return (SqlDataReader)null;
}
}
#endregion
#region ExecuteNonQuery():執行并返回一個結果,1代表成功,-1代表失敗
/// <summary>
/// 執行并返回一個結果,1代表成功,-1代表失敗
/// </summary>
/// <param name="strSql"></param>
/// <param name="Parms"></param>
/// <returns></returns>
public int ExecuteNonQuery(string strSql, SqlParameter[] Parms)
{
try
{
int retcount = -1;
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = strSql;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 0;
cmd.Parameters.AddRange(Parms);
conn.Open();
retcount = cmd.ExecuteNonQuery();
conn.Close();
cmd.Parameters.Clear();
}
}
return retcount;
}
catch (Exception ex)
{
fn_share fn_share = new fn_share();
fn_share.systemLog(strSql + ex.Message);
return -1;
}
}
#endregion
#region ExecuteScalar():返回數據集第一行第一列的數據
/// <summary>
/// 返回數據集第一行第一列的數據
/// </summary>
/// <param name="strSql"></param>
/// <param name="Parms">參數</param>
/// <returns></returns>
public object ExecuteScalar(string strSql, SqlParameter[] Parms)
{
object retobject = null;
try
{
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = strSql;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(Parms);
conn.Open();
retobject = cmd.ExecuteScalar();
conn.Close();
cmd.Parameters.Clear();
}
}
}
catch (Exception ex)
{
fn_share fn_share = new fn_share();
fn_share.systemLog(strSql + ex.Message);
}
return retobject;
}
#endregion
#region GetDataTable():根據sql返回一個數據表
/// <summary>
/// 根據sql返回一個數據表
/// </summary>
/// <param name="strSql"></param>
/// <param name="Parms"></param>
/// <returns></returns>
public DataTable GetDataTable(string strSql, SqlParameter[] Parms)
{
try
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = strSql;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(Parms);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
dt.Load(dr);
conn.Close();
cmd.Parameters.Clear();
}
}
return dt;
}
catch (Exception ex)
{
fn_share fn_share = new fn_share();
fn_share.systemLog(strSql + ex.Message);
return (DataTable)null;
}
}
#endregion
#region GetDataSet():根據sql返回一個數據集
/// <summary>
/// 根據sql返回一個數據集
/// </summary>
/// <param name="strSql"></param>
/// <param name="Parms"></param>
/// <returns></returns>
public DataSet GetDataSet(string strSql, SqlParameter[] Parms)
{
try
{
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = strSql;
cmd.CommandTimeout = 0;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(Parms);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
conn.Close();
cmd.Parameters.Clear();
}
}
return ds;
}
catch(Exception ex)
{
fn_share fn_share = new fn_share();
fn_share.systemLog(strSql + ex.Message);
return (DataSet)null;
}
}
#endregion
}
sql help cs的更多相关文章
- Hibernate查询,返回new对象(注意这个新定义的类要有构造函数),使用sql带条件分页查询并且把结果显示到一个对象的集里面的解决方案
IIndexDao package com.ucap.netcheck.dao; import com.ucap.netcheck.combination.beans.IndexCombinat ...
- 一次执行批量sql的方法
在javaweb开发中,免不了一次业务操作会设计到几个表之间的添加,获取主键插入子表 1.主表使用单条插入,获取id,自表获取id进行批量插入最后完成操作 SimpleJdbcTemplateDaoI ...
- 使用复合设计模式扩展持久化的CURD,Select能力
大家可能会经常遇到接口需要经常增加新的方法和实现,可是我们原则上是不建议平凡的增加修改删除接口方法,熟不知这样使用接口是不是正确的接口用法,比如我见到很多的项目分层都是IDAL,DAL,IBLL,BL ...
- Spring JdbcTemplate 调用存储过程
遇到调用存储过程的业务,以前有用过,但不是用Spring的 JdbcTemplate去做的,这次是在一个已经有的SpringMVC框架的项目下写处理存储过程的. 参考网络中的方法,在实际操作中遇到两个 ...
- spring heibernate 调用存储过程
一:参考网址 http://sunbin123.iteye.com/blog/1007556 二:示例 @Autowired @Qualifier("jdbcTemplate") ...
- 传智博客(JavaWeb方面的所有知识)听课记录(经典)
一. JavaWeb基础 第一天: 1.Eclipse详解: (1).Bad versionnumber in .class file:编译器版本和运行(JRE)版本不符合.高的JRE版本 ...
- mysql procedure返回多数据集
返回多数据集写法:第一种 DROP PROCEDURE IF EXISTS `p_query_user` ; DELIMITER // CREATE PROCEDURE p_query_user( p ...
- jdbc初步(转)
1. Jdbc的六个编程步骤 1. 注册一个驱动 注册驱动程序有三种方式: 方式一:Class.forName(“oracle.jdbc.driver.OracleDriver”); JAVA 规范中 ...
- JDBC在springMvc等框架中使用的方式
连接池jar:c3p0 代码结构 ----------------------------------------------- 配置文件 config.properties #hibernate. ...
随机推荐
- Windows Server 2012 R2 无法启用Microsoft .NET Framework 3.5 功能
1 在新windows 2012 R2 上安装SQL 2014 ,提示需要安装 .NET Framework 3.5 2 在添加角色和功能--功能--.NET Framework 3.5,然后失败 3 ...
- tips:Java基本数据类型大小比较
tips:Java基本数据类型大小比较! Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. ------四个整数型------ (1)byte:b ...
- 6.6安装编译安装zabbix3.2
添加yum源 get -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo #安装阿里云y ...
- 《linux性能及调优指南》 3.5 网络瓶颈
3.5 Network bottlenecks A performance problem in the network subsystem can be the cause of many prob ...
- Android被忽略的tools
自动生成的布局xml文件,很多都带有tools字样:但是大部分都被我们删除了: 其实它的作用是让我们这些开发者预览用的,十分的方便: 事例一个TextView: <TextView androi ...
- hdfs底层存储分隔符
字段分割 \ map字段里面key \ value \ 每行结尾用linux换行符 \0a '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格,通常敲一个回车键,即是回车,又是换行( ...
- 微信小程序中使用iconfont/font-awesome等自定义字体图标
小程序不能识别外部字体文件,但是转换成Base64就可以使用字体图标了. 以阿里巴巴的iconfont为例 1.下载图标 先去官网下载喜欢的图标==> 下载解压后的文件夹==> 2.在线转 ...
- spring揭密学习笔记
spring揭密学习笔记 spring揭密学习笔记(1) --spring的由来 spring揭密学习笔记(2)-spring ioc容器:IOC的基本概念
- Eureka 客户端启动报错误 Cannot determine embedded database driver class for database type NONE
用这种数据库配置就是死活连不上数据库 提示:Cannot determine embedded database driver class for database type NONE 解决方式: 启 ...
- python学习笔记_week22
note 知识点概要 - Session - CSRF - Model操作 - Form验证(ModelForm) - 中间件 - 缓存 - 信号 内容详细: 1. Session 基于Cookie做 ...