首页 > 技术文章 > SqlHelper类

fengkungui 2015-01-09 20:54 原文

【基本介绍:】

1.是什么?

SqlHelper是一个基于.NET Framework的数据库操作组件。组件中包含数据库操作方法,SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。

2.为什么?

SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。

3.如何用?

SqlHelper支持多种数据库包括MySql、SqlServer、Oracle、Access数据库,如果的数据库是SqlServer,那么你可以使用SqlServerHelper类,如果是MySql,可以使用MySqlHelper,如果是Access,可以使用AccessHelper。如果是Oracle则可以使用OracleHelper类。

//查询语句执行:
DataTable dt=SqlServerHelper.ReadTable("select * from table1");
//插入语句执行:
SqlServerHelper.ExecuteNonQuery("insert into [students] values(@student_name,@class)",
SqlServerHelper.CreateInputParameter("@student_name", SqlDbType.NVarChar, 100, txt_student_name_sqlserver.Text),
SqlServerHelper.CreateInputParameter("@class", SqlDbType.NVarChar, 100, txt_class_sqlserver.Text)

4.SqlHelper中的主要方法:

在 SqlHelper 类中实现的方法包括:(具体可参照MSDN中介绍的语法等)
ExecuteNonQuery。此方法用于执行不返回任何行或值的命令。这些命令通常用于执行数据库更新,但也可用于返回存储过程的输出参数。
ExecuteReader此方法用于返回 SqlDataReader 对象,该对象包含由某一命令返回的结果集。
ExecuteDataset此方法返回 DataSet 对象,该对象包含由某一命令返回的结果集。
ExecuteScalar此方法返回一个值。该值始终是该命令返回的第一行的第一列。
ExecuteXmlReader此方法返回 FOR XML 查询的 XML 片段。

【SQLHelper在重构中的应用】

    在机房重构中,SQLHelper将会给我们帮很大的忙。最近在敲机房,对于SQLHelper也是早有耳闻,早就看到过师哥师姐们的博客里面写了关于这个的,只是还没用过,敲着敲着代码突然觉得如果不用这个类,会大大增加代码量,其实它并不是个多么新鲜的事物,说白了,它是一个有多个关于数据库增删改查操作的语句函数的类,使用这个类可以方便D层调用,对数据库的操作,我们无非就是增删改查,而函数就是有无参数,有无返回值,SQLHelper是个新词,不过我们却一直在用,只是我们不这么叫,算是个数据数据连接的小助手吧,明白了这些,接下来就是代码的实现了。


推荐阅读