ADO.NET 操作数据库 --- 01 简单封装
由于我是Java转的C#开始的时候就用的NHihernate,和EF 对ADO.NET使用较少,现在封装一个ADO.NET的工具类来实现数据库的操作,比较简单,望大家多多提意见。
如果大家有什么学习中需要用到的需求:可以给我留言,然后我完成后发出来
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace Util { /// <summary> /// 数据操作工具类 /// 作者:老郑 /// 日期:2016年7月25日 /// 版本:v1.1 /// </summary> public class DBUtil { /// <summary> /// 获取数据库连接 /// </summary> /// <returns>返回一个新的数据库连接</returns> public static SqlConnection GetSqlConnection() { string source = "server=(local);integrated security=SSPI;database=CYCOOHIS;"; return new SqlConnection(source); } /// <summary> /// 执行SQL语句 - 为了保证数据的完整性开启了事务 /// </summary> /// <param name="sql">SQL语句(多条SQL语句可以用分号隔开)</param> /// <returns>返回受影响的行数</returns> public static int SqlExecute(string sql) { SqlTransaction tran = null; try { using (SqlConnection conn = GetSqlConnection()) { conn.Open(); tran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(sql, conn, tran); int result = cmd.ExecuteNonQuery(); tran.Commit(); return result; } } catch (SqlException e) { tran.Rollback(); throw; } } /// <summary> /// DataReader 方式读取数据 /// </summary> /// <param name="sql">执行的SQL</param> public static void Sql2DataReader(string sql) { try { using (SqlConnection conn = GetSqlConnection()) { conn.Open(); SqlCommand cmd = new SqlCommand("select top 10 * from Base_Area", conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { // TODO 自己的代码 } } } catch (SqlException e) { throw; } } /// <summary> /// 查询出DataSet /// </summary> /// <param name="sql">查询的SQL语句</param> /// <returns></returns> public static DataSet Sql2DataSet(string sql) { try { SqlDataAdapter da = null; DataSet ds = new DataSet(); using (SqlConnection conn = GetSqlConnection()) { conn.Open(); da = new SqlDataAdapter(sql, conn); da.Fill(ds); return ds; } } catch (SqlException e) { throw; } } /// <summary> /// 查询并返回DataTable /// </summary> /// <param name="sql">查询的SQL语句</param> /// <returns></returns> public static DataTable Sql2DataTable(string sql) { ]; } } }
源码地址:链接: http://pan.baidu.com/s/1jIHGwVs 密码: x4a3
ADO.NET 操作数据库 --- 01 简单封装的更多相关文章
- Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- Win10 64位系统ADO方式操作数据库失败解决方法
VC操作Access数据库一般通过ODBC.ADO.DAO等方式,但在我的Win10 64位操作系统中,通过ADO方式操作数据库会失败,无法读取数据.解决方法:1.首先确保Win10操作系统ado目录 ...
- redis数据库操作的C++简单封装
用c++简单封装了redis的基本操作(hiredis) 接口包括:①链接和断开连接.②设置键值对(set).③查询键值对(get).④删除键值对(del).⑤将所有键显示出来 若任何一处发生错误,返 ...
- ADO.Net操作数据库的方式
1.使用数据提供程序执行sql或者ddl语句操作数据库. 2.使用oledb操作数据库 3.使用odbc操作数据库 4.使用DataSet操作数据库 前面3种方式都无法避免要使用sql语句,对不同种类 ...
- ADO.net操作数据库
今天整理硬盘,发现2年前开始着手开始学习C#的学习日记.陆续整理,一是自己的知识梳理梳理,二是希望与大家多多交流,能给初学者带来一定帮助,当然是更高兴的啦. 断线对象 另一类是与数据源无关的断线对象, ...
- ADO.NET操作数据库(一)
---恢复内容开始--- [1]ADO.Net简介2015-12-07-20:16:05 ADO.Net提供对Microsoft SQL Server数据源以及通过OLE DB和XML公开的数据源的一 ...
- C# ADO.NET操作数据库 SqlHelp.cs类
刚开始练习ADONET的时候,练习的一个SQLHelp.cs 数据库操作类,很简单,但是也很实用 using System; using System.Collections.Generic; us ...
- php操作数据库的简单示例
放假期间自己又写了几个简单的网页,但在服务器中打开时和在网站上打开时不一样,在服务器中打开的出现了错误,字体比一般的腰大好多,页面也相应地变大了,一些块即使用了浮动和clear浮动还是被遮住了,我只好 ...
- 使用ADO.NET操作数据库
如有转载的请注明出处!蟹蟹 1.1使用对象连接OLE DB 数据源 OLE DB 数据源包含具有OLE DB 驱动程序的任何数据源,如SQL Server.Access.Excel.Oracle等. ...
随机推荐
- Next SIEM
http://security.ctocio.com.cn/76/12715576.shtml http://yepeng.blog.51cto.com/3101105/1155802/ http:/ ...
- HttpClient发送get post请求和数据解析
最近在跟app对接的时候有个业务是微信登录,在这里记录的不是如何一步步操作第三方的,因为是跟app对接,所以一部分代码不是由我写,我只负责处理数据,但是整个微信第三方的流程大致都差不多,app端说要传 ...
- 解决Jetty Maven Plugin:Please initialize the log4j system properly(转)
解决Jetty Maven Plugin:Please initialize the log4j system properly.Jetty Maven Plugin环境: <plugin> ...
- cocos2d-x3.6 连连看连通画线
我的博客:http://blog.csdn.net/dawn_moon 网上看到非常多人写的连连看,都没有画连线的实现.事实上要话连线挺简单的.cocos2d-x 提供了一个非常方便的绘图形的类.Dr ...
- BCB6.0是垃圾的二十条理由
我用的BCB6.0和windows2000 都是公司配的正版,我也有多年的开发经验. 1. IDE常常出现非法操作,有时重起动还会出错,须要重装BCB. 2. 自己主动完毕和智能提示功能超慢,慢到能够 ...
- BZOJ 1925: [Sdoi2010]地精部落( dp )
dp(i,j)表示1~i的排列中, 以1~j为开头且开头是下降的合法方案数 这种数列具有对称性, 即对于一个满足题意且开头是上升的n的排列{an}, 令bn = n-an+1, 那么{bn}就是一个满 ...
- OpenGL ES 如何能看到一个物体内部和象3dmax中能只显示网格线
上一篇 OpenGL ES 正反面设置指令 中分析了正反面的判区方法,那么正反面有什么用呢?接下来我们就要引入一个叫做背面消除的概念.在3dmax中有个选项,当你用挤压修改器挤出一个中空的长方体时,在 ...
- 开源网络库的分析libev libevent nginx ....
最经看关于网络编程的一些书,对于网络编程中的一些基本东西,开源库已经封装的很好了,但是库归根结底还是使用的基本API,所以就想着分析一下,尤其是在看了各个库的介绍以后,所以这段时间想在这个方向投入一点 ...
- js_DOM属性
.nodeType==1,指的是li, .nodeType==3,则指的文本节点. .children属性,和 .childNodes属性类似,但是只会包含元素节点,而不会包含文本节点. .child ...
- Android的回调
学了两三周的安卓了,最先开始是看mars老师的视频,看了一两天结合慕课网上的一些安卓视频,到现在算是有点入门了. 安卓立用得比较多的回调函数有点不明是怎么实现的,网上找了一些资料,结合自己的实践,总算 ...