ado.net SqlHelp类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient; namespace Reservation.DAL
{
public class SqlHelper
{
/// <summary>
/// 自定义数据库连接字符串
/// </summary>
public static string ConnString = @"Data Source=.;Initial Catalog=DB_Date_Plan; User ID=sa;Pwd=111111";
/// <summary>
/// 应用程序下获取连接字符串
/// </summary>
//public static string ConnString
//{
// get { // return System.Configuration.ConfigurationManager.ConnectionStrings["connstring"].ToString();
// }
//} /// <summary>
/// 执行一个Sql语句返回受影响的行数
/// </summary>
/// <param name="sql">insert,update,delete或相关的存储过程</param>
/// <param name="type">命令类型:SQL语句还是存储过程</param>
/// <param name="pars">SQL语句所需要的参数</param>
public static int ExcuteSQLReturnInt(string sql, CommandType type, params SqlParameter[] pars)
{
//定义连接对象
SqlConnection conn = new SqlConnection(ConnString);
//判断连接对象的状态,并且打开
if (conn.State == ConnectionState.Closed || conn.State == ConnectionState.Broken)
{
conn.Open();
}
try
{
//实例化命令对象
SqlCommand cmd = new SqlCommand(sql, conn);
//判断CommandType类型是否是SQL语句还是存储过程
cmd.CommandType = type;
if (pars != null && pars.Length > )
{
foreach (SqlParameter p in pars)
{
cmd.Parameters.Add(p);
}
}
//调用方法执行SQL语句或存储过程
int count = cmd.ExecuteNonQuery();
return count;
}
catch (Exception ex)
{
return ;
}
finally
{
//记得要关闭连接
conn.Close();
}
} /// <summary>
/// 执行一个Sql语句或存储过程,返回一条记录,sqldataReader
/// </summary>
/// <param name="sql">select语句,或相关的存储过程</param>
/// <param name="type">指定命令类型,sql语句还是存储过程,默认的是sql语句</param>
/// <param name="pars">参数的集合</param>
/// <returns></returns>
public static SqlDataReader ExcuteSqlReturnReader(string sql, CommandType type, SqlParameter[] pars)
{
SqlConnection conn = new SqlConnection(ConnString);
if (conn.State == ConnectionState.Closed || conn.State == ConnectionState.Broken)
{
conn.Open();
}
SqlCommand cmd = new SqlCommand(sql, conn);
if (pars != null && pars.Length > )
{
foreach (SqlParameter p in pars)
{
cmd.Parameters.Add(p);
}
}
cmd.CommandType = type;
//当reader.close(),也就是关闭了datareader时,CommandBehavior.CloseConnection 也会关闭连接!
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
} /// <summary>
/// 执行一个sql语句或存储过程,不带参数的!返回一天记录 sqldataReader
/// </summary>
/// <param name="sql"></param>
/// <param name="type"></param>
/// <returns></returns>
public static SqlDataReader ExcuteSqlReturnReader(string sql, CommandType type)
{
SqlConnection conn = new SqlConnection(ConnString);
if (conn.State == ConnectionState.Closed || conn.State == ConnectionState.Broken)
{
conn.Open();
}
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = type;
//当reader.close(),也就是关闭了datareader时,CommandBehavior.CloseConnection 也会关闭连接!
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
} /// <summary>
/// 执行一个Sql语句或存储过程,返回一个数据集,dataset
/// </summary>
/// <param name="sql">select语句或相关的存储过程</param>
/// <param name="type">命令类型</param>
/// <param name="pars">命令类型</param>
/// <returns>DataSet</returns>
public static DataSet SelectSqlReturnDataset(string sql, CommandType type, SqlParameter[] pars)
{
SqlConnection conn = new SqlConnection(ConnString);
//数据集识别器对象SqlDataAdapter 会自动打开数据库链接!
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
if (pars != null && pars.Length > )
{
foreach (SqlParameter p in pars)
{
sda.SelectCommand.Parameters.Add(p);
}
}
sda.SelectCommand.CommandType = type;
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
} /// <summary>
/// 执行一个sql语句返回一个数据表对象
/// </summary>
/// <param name="sql">select</param>
/// <param name="type">命令类型</param>
/// <param name="pars">参数集合</param>
/// <returns>DataTable</returns>
public static DataTable SelectSqlReturnDataTable(string sql, CommandType type, SqlParameter[] pars)
{
SqlConnection conn = new SqlConnection(ConnString);
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
if (pars != null && pars.Length > )
{
foreach (SqlParameter p in pars)
{
sda.SelectCommand.Parameters.Add(p);
}
}
sda.SelectCommand.CommandType = type;
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
} //*******************************************************************
//SelectSqlReturnDataTable方法的重载,不传参数的情况下
/// <summary>
/// 执行一个sql语句返回一个数据表对象,不传参数
/// </summary>
/// <param name="sql">select</param>
/// <param name="type">命令类型</param>
/// <returns></returns>
public static DataTable SelectSqlReturnDataTable(string sql, CommandType type)
{
SqlConnection conn = new SqlConnection(ConnString);
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
sda.SelectCommand.CommandType = type;
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
} /// <summary>
/// 执行一个sql语句或相关的存储过程,返回一个值
/// </summary>
/// <param name="sql">select count(*) from tablename where ....</param>
/// <param name="type">命令类型</param>
/// <param name="pars">所需的参数</param>
/// <returns>object</returns>
public static object selectSqlReturnObject(string sql, CommandType type, SqlParameter[] pars)
{
SqlConnection conn = new SqlConnection(ConnString);
if (conn.State == ConnectionState.Closed || conn.State == ConnectionState.Broken)
{
conn.Open();
}
try
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = type;
if (pars != null && pars.Length > )
{
foreach (SqlParameter p in pars)
{
cmd.Parameters.Add(p);
}
}
object obj = cmd.ExecuteScalar();
return obj;
}
catch (Exception ex)
{
return null;
}
finally
{
conn.Close();
}
} /// <summary>
/// 执行一个sql语句或相关的存储过程,返回一个值,不传参数
/// </summary>
/// <param name="sql"></param>
/// <param name="type"></param>
/// <returns></returns>
public static object selectSqlReturnObject(string sql, CommandType type)
{
SqlConnection conn = new SqlConnection(ConnString);
if (conn.State == ConnectionState.Closed || conn.State == ConnectionState.Broken)
{
conn.Open();
}
try
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = type;
object obj = cmd.ExecuteScalar();
return obj;
}
catch (Exception ex)
{
return null;
}
finally
{
conn.Close();
}
} }
}
ado.net SqlHelp类的更多相关文章
- ADO.NET帮助类DBHelper
一. DBHelper帮助类 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- ado.net 实体类_数据访问类
实体类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...
- ADO.NET 实体类和数据访问类
SQL数据库字符串注入攻击:需要使用cmd.Parameters这个集合占位符: @key 代表这个位置用这个占位符占住了 Parameters这个集合中将此占位符所代表的数据补全 cmd.Param ...
- ADO.net 实体类 、数据访问类
程序分三层:界面层.业务逻辑层.数据访问层 比较规范的写程序方法,要把业务逻辑层和数据访问层分开,此时需要创建实体类和数据访问类 实体类: 例 using System; using System.C ...
- ADO,NET 实体类 和 数据访问类
啥也不说,看代码. --SQl中 --建立ren的数据库,插入一条信息 create database ren go use ren go create table xinxi ( code ) pr ...
- 连接SQLite 创建ADO.net实体类
0.开发环境 win10,vs2013-x64 1.安装: sqlite-netFx451-setup-bundle-x86-2013-1.0.102.0.exe 注意事项:选在VisualStudi ...
- ADO.NET工具类(三)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- ADO.NET工具类(二)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- ADO.NET工具类(一)
using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; usin ...
随机推荐
- 实验四《Android程序设计》实验报告封面
实验四<Android程序设计>实验报告封面 课程:Java程序设计 班级:1753班 姓名:许钰玮 学号:20175329 指导教师:娄嘉鹏 实验日期:2019年5月13日 实验时间:1 ...
- LeetCode 260. 只出现一次的数字 III(Single Number III)
题目描述 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次. 找出只出现一次的那两个元素. 示例 : 输入: [1,2,1,3,2,5] 输出: [3,5] 注意: 结 ...
- 【黑马JavaSE】1_1_9_流程控制:顺序结构、判断结构、选择结构、循环结构
文章目录 1_1_9_01_ 流程控制概述 1_1_9_01_ 顺序结构 1_1_9_ 判断结构 1_1_9_02_ 判断语句1--if 1_1_9_03_ 判断语句2--if...else 1_1_ ...
- Async Task Types in C#
Async Task Types in C# Extend async to support task types that match a specific pattern, in addition ...
- hadoop学习笔记以及遇到的坑整理(长期更新)
1.要看官方文档 http://hadoop.apache.org/docs/current/ 2.start-dfs.sh时提示rcmd: socket: Permission denied 解决方 ...
- ant DatePicker 中文
方式一:局部设置 import 'moment/locale/zh-cn'; import locale from 'antd/lib/date-picker/locale/zh_CN'; //调用时 ...
- 图片加载框架之ImageLoader
Android开发中,多少会接触到异步加载图片,或者加载大量图片的问题,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等问题,对于这些问题解决起来会比较吃力,比较著名的就是Univers ...
- Linux搭建ftp服务器简单教程及使用方法
参考文章:https://www.waitig.com/linux-or-centos-install-vsftpd-and-setup-it.html 步骤概括如下: 安装:yum install ...
- Servlet 表单数据 接收get post 参数实例
Servlet 表单数据 很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法. GE ...
- 方法的可变参数 params
当你写了一个方法,这个方法需要对传进来的参数进行加工,但是不确定传递的参数的数量的时候 比如,public void int jiafa(int a,int b){a+b;} jiafa(1,2) 但 ...