C# 封装SqlHelper
在项目配置文件中添加数据库连接字符串
<connectionStrings>
<add connectionString="Data Source=主机;Initial Catalog=数据库名;Persist Security Info=True;User ID=用户名;Password=密码" name="当前连接字符串名称"/>
</connectionStrings>
封装类
class SqlHelper
{
//获取连接字符串
private readonly static string connectionStr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
/// <summary>
/// 执行sql 增 删 该
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns></returns>
public static bool ExecuteNonQuery(string sql, params SqlParameter[] param)
{
int result;
using (SqlConnection con = new SqlConnection(connectionStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (param != null)
{
cmd.Parameters.AddRange(param);
}
try
{
con.Open();
result = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
//如果连接失败,抛出异常,并手动释放资源
con.Close();
con.Dispose();
throw ex;
}
}
con.Close();
}
if (result == )
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 查询单行单列 或者是统计
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql, params SqlParameter[] param)
{
using (SqlConnection con = new SqlConnection(connectionStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (param != null)
{
cmd.Parameters.AddRange(param);
}
try
{
con.Open();
return cmd.ExecuteScalar();
}
catch (Exception ex)
{
//如果连接失败,抛出异常,并手动释放资源
con.Close();
con.Dispose();
throw ex;
} }
}
}
/// <summary>
/// 根据条件查询数据
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns>SqlDataReader对象</returns>
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] param)
{
using (SqlConnection con = new SqlConnection(connectionStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (param != null)
{
cmd.Parameters.AddRange(param);
}
try
{
con.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
//如果连接失败,抛出异常,并手动释放资源
con.Close();
con.Dispose();
throw ex;
}
}
}
} /// <summary>
/// 根据条件查询数据
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns>DataTable对象</returns>
public static DataTable ExcuteTable(string sql, params SqlParameter[] param)
{
using (SqlConnection con = new SqlConnection(connectionStr))
{
DataTable dt = new DataTable(); using (SqlDataAdapter sda = new SqlDataAdapter(sql, connectionStr))
{
if (param != null) {
sda.SelectCommand.Parameters.AddRange(param);
}
sda.Fill(dt);
} return dt;
} }
}
C# 封装SqlHelper的更多相关文章
- 封装sqlhelper【一】
控件信息展示: //定义调用数据库类文件 namespace SqlHelper { public class TblClass { public int classId { get; set; } ...
- 数据操作的封装--sqlhelper
为了提高软件的灵活性和可维护性,软件的代码须要科学的管理.我们引入了架构这个词.设计模式提醒我们,软件中反复性的代码须要封装起来. 近期在做收费系统时.须要和数据库进行频繁的联系.既然是反复的使用,就 ...
- 封装SqlHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...
- 封装sqlhelper类
using System;using System.Collections.Generic;using System.Data;using System.Data.Common;using Syste ...
- ADO.Net和SqlHelper封装
1.什么是ADO.Net 简单来讲,ADO.NET是用于和数据源打交道的.Net结束,是一组向.NET程序员公开数据访问服务的类 2.ADO.NET的组成部分和对象模型 (1)ADO.NET的两个 ...
- ado.net的简单数据库操作(二)之封装SqlHelperl类
今天我书接上回,接着昨天的ado.net的数据库操作的相关知识来讲哈! 从上篇文章给出的实例来看,你一定会发现,操作数据库其实还挺麻烦的,就连一个最简单的数据库操作语句都要包括 定义数据库连接字符串. ...
- 【整理】待毕业.Net码农就业求职储备
声明:本文题目来源于互联网,仅供即将从学校毕业的.Net码农(当然,我本人也是菜逼一个)学习之用.当然,学习了这些题目不一定会拿到offer,但是针对就业求职做些针对性的准备也是不错的.此外,除了技术 ...
- C#向Sql数据库插入控制
string name = textBox1.Text; int age = Convert.ToInt32(textBox2.Text.Trim()); ? null : (int?)Convert ...
- .net学习总结
.NET 学前入门 了解.Net能做什么 了解.NET,C#语言及其特点(分清.NET和C#的关系),对.Net学习有系统全面的认识. C#基础 变量,赋值运算符.数据类型转换等. 选择结构控制(if ...
随机推荐
- Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7+TensorFlow1.2.0环境搭建
软件版本说明:我选的Linux系统是Ubuntu16.04,CUDA用的8.0,Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7只支持TensorFlow1.3.0以下的版 ...
- virsh命令和虚拟机克隆
virsh 命令 virsh list //列出正在运行虚拟机 virsh list --all //列出所有虚拟机 virsh console sunhao-1 //进入名字为sunh ...
- Alpha冲刺7
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10013652.html 作业博客:https://edu.cnblogs.com/campus ...
- python基础09_字符串格式化
首先,使用%s 的方法. #!/usr/bin/env python # coding:utf-8 # 不用format方法,使用%s 和%d name = 'Tom' age = 100 msg = ...
- 支持续传功能的ASP.NET WEB API文件下载服务
先把原文地址放上来,随后翻译
- web(八)CSS选择器
标签选择器 使用html标签筛选需要渲染的网页元素. 使用场景 修改标签的默认样式,例如ul li 有默认的内边距,开发时应去掉标签的默认样式. 设定全局字体样式. 根据分辨率设定html标签的默认字 ...
- CPU查询
请问:两路四核超线程=多少CPU??? 答案:16个 一.解释说明 两路=物理主机中,CPU的卡槽,槽位,这个无法增加,一个萝卜一个坑.就更内存卡槽一样,两个内存卡卡槽,a+b=总内存. 路=槽位=插 ...
- JavaScript 基础篇1
JavaScript引用问题 1:<script>标签引用嵌入html页面中,在外部引用中是JavaScript文件时必须用src属性设置相应的文件的URL.2:在不使用defer和asy ...
- RabbitMQ python模块pika生产者消费者轮询模型。
完整代码如下: 生产者,producer import pika connection = pika.BlockingConnection( pika.ConnectionParameters('lo ...
- 《C语言程序设计》编程总结汇总
<C语言程序设计>编程总结汇总 院系: 专业年级: 班级名称: 学号: 姓名: 指导教师: 完成时间: 自我评价: 计算机科学与技术专业教研室 2018 年秋季学期 第四周编程总结 题目4 ...