- 浏览: 94630 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
曾老师:
请问
dataFilter: function(data, ...
利用jquery.validate异步验证用户名是否存在 -
changningbuddha:
错误 1 在证书存储区中找不到清单签名证书。 myClock怎 ...
C#winform的小闹钟
看到一本教材上对数据库访问类的封装方法,个人觉得很完美,所以我先写下来啦……
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Data.SqlClient; using System.Data; namespace DAL { public class sqlHelp { //获取数据库连接字符串,其属于静态变量且只读,项目中所有文档可以直接使用,但不能修改 //stdInfoConnectionString为连接字符串的名称 ,在后面添加连接字符串后进行修改 public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; /// <summary>执行一个不需要返回值的SqlCommand命令,通过指定专用的连接字符串。 /// /// 使用参数数组形式提供参数列表 /// </summary> /// <remarks> /// 使用示例: /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24)); /// </remarks> /// <param name="connectionString">一个有效的数据库连接字符串</param> /// <param name="commandType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param> /// <param name="commandText">存储过程的名字或者 T-SQL 语句</param> /// <param name="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param> /// <returns>返回一个数值表示此SqlCommand命令执行后影响的行数</returns> public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters) { SqlCommand cmd = new SqlCommand(); //使用using处理流对象,并且自动释放资源 using (SqlConnection conn = new SqlConnection(connectionString)) { //通过PrePareCommand方法将参数逐个加入到SqlCommand的参数集合中 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); int val = cmd.ExecuteNonQuery(); //清空SqlCommand中的参数列表 cmd.Parameters.Clear(); return val; } } /// <summary>执行一条返回结果集的SqlCommand命令,通过专用的连接字符串。 /// /// 使用参数数组提供参数 /// </summary> /// <remarks> /// 使用示例: /// SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24)); /// </remarks> /// <param name="connectionString">一个有效的数据库连接字符串</param> /// <param name="commandType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param> /// <param name="commandText">存储过程的名字或者 T-SQL 语句</param> /// <param name="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param> /// <returns>返回一个包含结果的SqlDataReader</returns> public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters) { SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(connectionString); // 在这里使用try/catch处理是因为如果方法出现异常,则SqlDataReader就不存在, //CommandBehavior.CloseConnection的语句就不会执行,触发的异常由catch捕获。 //关闭数据库连接,并通过throw再次引发捕捉到的异常。 try { PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); return rdr; } catch { conn.Close(); throw; } } /// <summary>执行一条返回第一条记录第一列的SqlCommand命令,通过专用的连接字符串。 /// /// 使用参数数组提供参数 /// </summary> /// <remarks> /// 使用示例: /// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24)); /// </remarks> /// <param name="connectionString">一个有效的数据库连接字符串</param> /// <param name="commandType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param> /// <param name="commandText">存储过程的名字或者 T-SQL 语句</param> /// <param name="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param> /// <returns>返回一个object类型的数据,可以通过 Convert.To{Type}方法转换类型</returns> public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters) { SqlCommand cmd = new SqlCommand(); using (SqlConnection connection = new SqlConnection(connectionString)) { PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; } } /// <summary>为执行命令准备参数 /// /// </summary> /// <param name="cmd">SqlCommand 命令</param> /// <param name="conn">已经存在的数据库连接</param> /// <param name="trans">数据库事物处理</param> /// <param name="cmdType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param> /// <param name="cmdText">Command text,T-SQL语句 例如 Select * from Products</param> /// <param name="cmdParms">返回带参数的命令</param> private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms) { //判断数据库连接状态 if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = cmdText; //判断是否需要事物处理 if (trans != null) cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null) { foreach (SqlParameter parm in cmdParms) cmd.Parameters.Add(parm); } } } }
发表评论
-
缩略图
2011-05-16 11:19 1269缩略图 Web应用中最薄弱的环节就是传输,即速度问题。图片格 ... -
给图片加水印
2011-05-16 11:14 1426水印 在网络中发布资源时,比如图片,很多时候需要保护版权,即 ... -
.net绘图操作五
2011-05-16 11:02 1213统计图是信息管理系统常用的功能,常用的有饼图、柱形图、拆线图等 ... -
.net绘图操作四
2011-05-16 11:00 992绘制简单图形 简单图形是组成复杂图形的基础,通过本小节的例子 ... -
.net绘图操作三
2011-05-16 10:47 1598在.NET中图形包括以下两个步骤。 第一,创建Graphic ... -
.net绘图操作二
2011-05-16 09:57 13931.4 Brush Brush通常被称为,用于定义填充图形形 ... -
.net绘图操作一
2011-05-16 09:35 1498.NET对图形操作的支持类 ... -
(推荐)海量数据库的查询优化及分页算法方案
2011-04-28 18:14 1117建立一个web 应用,分页浏览功能必不可少。这个问题是数据库处 ... -
在你的Fckeditor安装Google map plugin
2011-04-28 18:13 1260Fckeditor是现在很常见的Html编辑器,他好用的地方 ... -
分享c#动态生成文字图片解决方案
2011-04-28 18:12 3519大家都知道我们如果想把网页上的文字做出比较炫的效果,便只能用P ... -
浅谈ASP.NET报表控件
2011-04-28 18:07 1903浅谈ASP.NET报表控件 作者:管理员 来源:51CT ... -
数据绑定控件导出到excel
2011-04-26 20:41 1393aspx页面代码 <div> ... -
数据库连接访问数据时出错
2011-04-22 09:39 1001超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种 ... -
文件上传中sever.mapPath和Request.PhysicalApplicationPath用法
2011-04-16 08:44 1141aspx页面代码: 添加一个上传控件 <p> ... -
文件的写和读操作方法总结
2011-01-02 21:55 898今天下午看了文件的相关操作,其中最常见的就是创建和读取的操作了 ... -
vs里面根据html模板页生成静态html页面
2011-01-02 17:19 1271在.net中生产静态的html页面主要用到的 IO流技术,先读 ... -
ckeditor的配置(html在线文本编辑器)
2011-01-01 09:11 1876一.ckeditor 3.3.1精简 1、删除_sam ... -
.net的开源cms系统网址收藏
2010-12-21 14:01 946这是我从别人博客上看 ... -
使用下拉列表对gridview分页
2010-12-10 16:32 915这是我看到别人的博客的,不说好不好,先记下来,以后还是有用;先 ... -
C#中@的用法
2010-11-27 21:51 913一 字符串中的用法 字符@表示,其后的字符串是个“逐字字符串 ...
相关推荐
### 封装的SQL数据库访问类 在现代软件开发中,特别是Web应用开发领域,对数据库的操作是非常核心的一部分。为了简化这些操作并提高代码的可维护性和可读性,开发者通常会采用各种技术来实现数据库访问层(Data ...
本资源"实用数据库访问类,封装常见的数据库访问类助手"提供了一个方便的工具,可以简化数据库操作,提高代码的可维护性和复用性。 首先,我们要理解什么是数据库访问类。数据库访问类是面向对象编程中的一种设计...
本主题将深入探讨“sql+sqlserver 数据库访问类封装例子”,这是一个利用面向对象编程来简化数据库操作的方法。我们将讨论如何通过配置文件动态连接到SQL Server数据库,并了解此类封装的优势。 首先,`sql+sql...
这个"很好用的数据库访问封装类"是为C#编程语言设计的,旨在提供一个通用的解决方案,支持Access、SQL Server和Oracle等多种数据库系统。这种封装允许开发者通过统一的接口来处理不同类型的数据库,降低了代码的复杂...
### c#.NET万能数据库访问封装类:ACCESS、SQLServer、Oracle 在现代软件开发中,数据持久化是至关重要的一个环节,而数据库操作作为数据持久化的基础,其效率和可维护性直接影响到整个应用程序的性能和稳定性。...
为ASP.NET封装的SQL数据库访问类,using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Collections;
本文档主要介绍了一个使用C#语言开发的万能数据库访问封装类,該类支持ACCESS、SQLServer、Oracle等多种数据库管理系统。该类提供了统一的数据库访问接口,讓开发者可以轻松地访问不同类型的数据库。 首先,类...
在C#编程中,数据库访问通用实现封装是一个重要的设计模式,它允许开发者通过统一的接口与各种类型的数据库进行交互,而无需关注底层数据库的具体实现。这样的设计提高了代码的可复用性和可维护性,同时也降低了项目...
首先,我们要理解数据库访问封装类的基本概念。这种类通常会包含连接、查询、执行SQL语句、关闭连接等数据库操作的方法,通过面向对象的方式隐藏了数据库交互的细节,使得开发者能够更加专注于业务逻辑。 在提供的...
"Sql数据库助手类"通常是指一个封装了常见SQL操作的C#类库,用于简化开发人员与数据库的交互过程。这类助手类通常包含了连接数据库、执行SQL语句、处理结果集等功能,以提高开发效率并降低错误率。 `SqlHelper.cs`...
最后,对于提供的文件列表,"C#.NET万能数据库访问封装类ACCESS、SQLServer、Oracle%29.zip"很可能包含了实现上述功能的源代码。解压密码.html可能是用来解压此文件的密码提示。在实际应用中,理解并使用这样的封装...
在给定的描述中,我们讨论的是一个使用`QSqlQuery`对数据库进行封装的类,该类考虑了线程安全和数据库访问的高效性。 首先,让我们深入了解一下`QSqlQuery`。它是一个用于执行SQL命令的类,可以用来执行插入、更新...
封装了常用的mysql,sqlserver,sqllite,access数据库的连接,数据访问等方法,原作者链接:http://www.qtcn.org/bbs/read-htm-tid-62347.html
在数据库访问类的设计中,封装意味着我们将数据库连接、查询语句执行、结果处理等操作都封装在一个类中,外部只需调用相应的公共方法即可。 ASP.NET 2.0 是一个用于构建 Web 应用程序的开发框架,它提供了丰富的...
7. **异常处理**:封装类应能捕获和处理数据库操作过程中可能出现的异常,如网络问题、权限问题或SQL语法错误。 在CSDN博主MingoJiang的博客中,他可能详细介绍了如何实现这些功能,包括具体的代码示例和注意事项。...
SQL数据库通用访问类是ASP.NET项目中数据库访问层的一个强大工具,它通过封装常见的数据库操作,简化了开发流程,提高了代码的健壮性和可维护性。开发者应当深入理解其内部机制,并遵循最佳实践,以充分利用这一工具...
在标题和描述中提到的"数据库操作的封装类",主要涉及到两个方面:对SQL数据库(如MySQL、PostgreSQL等)和Access数据库的支持,以及通过Web服务进行远程访问的能力。 首先,对于SQL数据库的支持,这类封装类通常会...
* Description: 本次常用代码封装为数据库通用访问类: * 包含以下方法: * 1.获取数据库连接字符串,创建数据库连接命令,判断数据字符数组 * 2.执行非查询ExecuteNonQuery返回受影响的行数,增加,修改,删除, *...
"封装VC访问SQL"是一个项目,旨在提供一个方便、高效的接口,用于VC++应用程序与SQL数据库进行通信。下面我们将详细探讨这个主题。 首先,VC++是一种强大的C++集成开发环境,由微软公司开发,广泛应用于Windows平台...
这使得开发者可以快速集成到自己的WPF应用中,无需从零开始编写数据库访问层。 综上所述,这个压缩包提供的"C# WPF sqlserver 数据库 封装类"是一个实用的工具,它简化了C# WPF应用与SQL Server数据库之间的交互,...