万能的DBHelper帮助类
DBHelper类:
简单的理解就是一个工具箱,我要用锤子的时候就在里面拿,我要用剪刀的时候也可以在里面拿,前提是我们写的DBHelper够不够强大!
软件中的四大功能:增、删、改、查 我们要实现这些功能就必须去一一对应的去写实现他们的方法,如果我们每次用到这几个功能的时候都要写实现相同的功能的方法,
那么就会出现代码冗余的情况,这个时候我们就可以把这些常用到的功能,提取出来封装在一个DBHelper类中,这样我们就不用每次重新去写实现相同功能的代码,
只需要带参数然后去调用你想实现什么功能的对应方法就可以了!!!
DBHelper格式:
public class DBHelper {
//从配置文件中获取连接字符串
public static string conStr = ConfigurationManager.AppSettings["conStr"];
//创建连接对象
private static SqlConnection con = null;
//获取连接对象
public static SqlConnection GetConnection() {
if (con == null || con.ConnectionString == "") {
con = new SqlConnection(conStr);
}
return con;
}
//打开 连接
public static void OpenConnection() {
if (con.State == ConnectionState.Closed) {
con.Open();
}
}
//关闭连接
public static void CloseConnection() {
if (con.State == ConnectionState.Open) {
con.Close();
}
}
//执行查询:返回多行多列
public static SqlDataReader ExecuteReader(string sql, CommandType type, params SqlParameter[] para) {
SqlConnection con = GetConnection();
OpenConnection();
SqlCommand com = new SqlCommand(sql, con);
com.CommandType = type;
com.Parameters.AddRange(para);
SqlDataReader dr = com.ExecuteReader();
return dr;
}
//动作查询:添加、修改、删除
public static int ExecuteNonQuery(string sql, CommandType type, params SqlParameter[] para) {
SqlConnection con = GetConnection();
OpenConnection();
SqlCommand com = new SqlCommand(sql, con);
com.CommandType = type;
com.Parameters.AddRange(para);
int n = com.ExecuteNonQuery();
CloseConnection();
return n;
}
万能的DBHelper帮助类的更多相关文章
- [C#]实现任何数据库类型的DbHelper帮助类
本文章为原创内容,如需转载,请注明作者及出处,谢谢! 一.在System.Data.Common命名空间下,存在这样的一个类: // // 摘要: // 表示一组方法,这些方法用于创建提供程序对数据源 ...
- EF(Entity Framework)通用DBHelper通用类,增删改查以及列表
其中 通用类名:DBhelper 实体类:UserInfo 1 //新增 2 DBHelper<UserInfo> dbhelper = new DBHelper<UserInfo& ...
- 万能的SQLHelper帮助类
/// <summary> /// 数据库帮助类 /// </summary> public class SQLHelper { private static string c ...
- .net 在数据访问层中写一个DBhelper优化类
复习了在学校的时候做的WinForm端的一个学生信息管理系统,用的三层架构,看了一下里面的数据优化类 这个类是用来把对数据库的操作封装成静态方法,增删改查的时候直接调用这个类,减少项目里代码的冗余和方 ...
- 万能的JDBC工具类。通过反射机制直接简单处理数据库操作
package com.YY.util; import java.io.IOException; import java.io.InputStream; import java.sql.Connect ...
- ADO.NET连接数据库DBHelper工具类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- DbHelper 标准类
import java.io.*; import java.sql.*; import java.util.*; import javax.servlet.jsp.jstl.sql.*; public ...
- ADO.NET帮助类DBHelper
一. DBHelper帮助类 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- [转]DbHelper通用数据库访问帮助类
之前我一直都是在博客园中查看各位高手的博文,确实学到了不少知识,不过比较少写博客,现在就把我自己在项目实施过程中使用到比较好的技术框架写出来,希望能让更多的人了解和学习. 通常我们在开发使用数据库访问 ...
随机推荐
- GUI编程及文件对话框的使用
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import ...
- jQuery - Detect value change on hidden input field
You can simply use the below function, You can also change the type element. $("input[type=hidd ...
- 如何免费的将本地Web服务映射到外网
链接地址:https://hongmaju.github.io/2018/05/13/ngrok%E5%B0%86%E6%9C%AC%E5%9C%B0Web%E6%9C%8D%E5%8A%A1%E6% ...
- redis的事务不是原子性
Reference: https://blog.csdn.net/u011692780/article/details/81213010 一.事务的四大特性 关系型数据库的事务具有四个特性: 1. 原 ...
- Android Studio项目导入aar包报错
最近在试着接入TrPay的sdk,根据它家文档需要导入它们的aar包(paysdk-release-1.2.2.aar). 在AS中怎么给安卓项目导入aar包,网上搜一下就能看到无非也就下面三步: 1 ...
- C++ 函数模板的返回类型如何确定?
函数模板 #include <iostream> // 多个参数的函数木板 template<typename T1, typename T2> T2 max(T1 a, T2 ...
- C语言 · 滑动解锁
题目:滑动解锁 滑动解锁是智能手机一项常用的功能.你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点.这些划过的点所组成的有向折线,如果与预设的折线在图 ...
- sping加载bean都发生了些什么
问题描述:使用@Autowired注入的类,没有实例化 //Controller @RequestMapping(value="/deepblue") @Controller pu ...
- CentOS7单独安装Apache Bench压力测试工具
用于并发测试. 1.安装 # need to run ab,apache portable runtime yum install apr-util # yum install yum-utils # ...
- QtCreator pro中相对路径和debug文件夹下未放动态库时调试报QtCreator:during startup program exited with code 0xc0000135错误
QtCreator pro中相对路径一般是以pro文件(非main函数所在文件)所在的当前目录为起点,用$$PWD表示. 如头文件和库文件 INCLUDEPATH +=$$PWD/inc win32 ...