自己写的通用的数据库操作类

写程序总是跟各种数据库打交道,网上各种操作类大把分别对应着不同的数据库,功能有多有少

今天自己写了个通用的操作类,把平时基本上用到的功能都有。

还加上了 分页功能(sqlserver 使用 TOP 来分页太痛苦了),跟防止注入。如: ExecuteTableFormat("select * from user where name={0} and pwd={1}","111","222"); 方法里自动将后面的参数使用 Parameter 的形式传进去查询,这样可以避免拼接sql造成的注入

要使用这个类需要配置对应的数据库驱动

举个例子

平时配置文件里常见的链接字符串这样写

<connectionStrings>
  <add name="default" connectionString="Server=.;initial catalog=temp;User ID=sa;Password=1234" providerName="System.Data.SqlClient"/>
</connectionStrings>

这配置文件里面的   providerName="System.Data.SqlClient" 就是 sqlserver 的驱动

这个驱动是.netframework默认配置好的,在 C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\ 目录下面的 machine.config 文件里面

 <system.data>
  <DbProviderFactories>
   <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
   <add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
   <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
   <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
   <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
  </DbProviderFactories>
 </system.data>

如果对应数据库的驱动没有在这文件里面,可以在这文件加上相应的驱动即可,或者也可以在应用程序的配置文件里面加上。比如,mysql的可以这样加上

  <system.data>
  <DbProviderFactories>

<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.0.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

   </DbProviderFactories>
 </system.data>

准备好驱动之后,操作类里面有个静态属性  ProviderName   只要给这属性赋值上对应驱动的名称就可以了。这个名称就是驱动配置里面的 invariant 相应的值

好了,连接字符串不用说啦,不同的数据库有不同的连接字符串

 附上文件:DbHelper.rar

 自己测试,能正常操作  sqlserver ,mysql ,Excel 文件(驱动是  System.Data.OleDb)。

 

转载于:https://www.cnblogs.com/luoyuelengfeng/archive/2011/09/29/2195992.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值