AdoHelper使用MySQL存储过程示例

AdoHelper是MS DAAB中的一个抽象数据访问类,由它派生出的SqlHelper使用很广泛,PDF.NET数据开发框架内部按照AdoHelper的接口做了一个自己的实现,下面简单说明一下怎么用它使用存储过程。

PDF.NET的两个功能:SQL-MAP和OQL在我们的项目和框架的示例程序用的都比较多,但是直接使用AdoHelper的人还很少,所以新来的同事为了简便,自己又去找了一个SqlHelper,实际上没有这个必要。

假设有一个MySQL数据库test,有一个存储过程proc_user1,下面是使用存储过程的例子。

1,首先配置App.config/Web.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name ="default" connectionString ="server=192.168.XX.XX;User Id=root;password=XXXX;database=test" providerName="PWMIS.DataProvider.Data.MySQL,PWMIS.MySqlClient"/>
  </connectionStrings>
</configuration>

2,在程序里面如下使用:

PWMIS.DataProvider.Data.AdoHelper db = PWMIS.DataProvider.Adapter.MyDB.GetDBHelperByConnectionName("default");
//PWMIS.DataProvider.Data.AdoHelper db = PWMIS.DataProvider.Adapter.MyDB.Instance ;
//MySQL 存储过程测试;
//参数名字可以加 @符号,例如 @pAge1
 DataSet ds1= db.ExecuteDataSet("proc_user1", 
                CommandType.StoredProcedure,
                new System.Data.IDataParameter[] { db.GetParameter ("@pAge1",22) });

3,说明:

有两种获取数据访问对象实例的方式,使用MyDB.Instance 或者从连接配置名获取

MyDB.GetDBHelperByConnectionName("default");

"default" 是配置文件里面的连接名称;

使用存储过程,仅仅需要将存储过程名字,CommandType.StoredProcedure,和参数数组传递过去即可。

PS:

虽然本文说明的是MySQL用法,实际上PDF.NET框架支持的各种数据库如果能够使用存储过程,使用方式都是一致的

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据库

MongoDB距“干掉”MySQL登上王位还有多远

【IT168 资讯】几十年来,关系型数据库已经成为企业应用程序的基础,自从MySQL在1995年发布以来,深受企业的偏爱。然而随着近年来数据量和数据的不断激增,...

29960
来自专栏非著名程序员

Android Volley核心源码解析

? 闲聊Volley Volley下载 Volley.jar及源码下载:http://download.csdn.net/detail/qq_172500...

21580
来自专栏NetCore

了解EF CodeFirst的Migrator功能与Migrator.Net对比

在上一篇【数据库迁移利器:Migrator.Net】中,很多朋友提到了EF的CodeFirst也有数据库的迁移功能,说来真惭愧,玩了那么多年,至今还未去了解EF...

22590
来自专栏钱曙光的专栏

一周极客热文:一位码农的几点思考

一位码农总结了自己的编程生涯,总结了以下几点: 对框架了解的越多,你才能用得更好。——更好意味着更快,更可靠,写出的代码更容易向上兼容。但另一方面来说,你得先停...

276100
来自专栏NetCore

【强烈推荐】数据库迁移利器:Migrator.Net

简介 很郁闷,写了一天的遇到LiveWriter错误,可恶啊 几年前在做项目中第一次接触到了Migrator.Net,就深深被吸引住了,至此以后在新的大项目中,...

25050
来自专栏FreeBuf

安全科普:SQLi Labs 指南 Part 1

译者:SQL Libs一直也没看到有人写过比较完整的指南,只有作者在自己的博客上帖了一些tip和一些视频,偶然看到一篇文章在写这个,便拿过来翻一下,以作参考,原...

22390
来自专栏企鹅号快讯

CRM重构之——微服务设计导读(一)

在介入正题前,想谈一下如何阅读,因为技术类的文章虽好,但需要一定的门槛,而且会比较枯燥,读后可能很快就会忘记读了什么,只记得读过。 导读 阅 带着兴趣 带着兴趣...

32490
来自专栏编程

Python实现MaxCompute UDF/UDAF/UDTF

MaxCompute的UDF包括:UDF,UDAF和UDTF三种函数,本文将重点介绍如何通过Python实现这三种函数。 参数与返回值类型 参数与返回值通过如下...

67390
来自专栏非著名程序员

Android二维码扫描开发(三):zxing库的使用及图像亮度信息提取

? 前一篇给大家介绍了YUV图像格式,这一篇将会对zxing库,以及YUV图像和RGB图像的亮度信息提取做一下介绍。 zxing是google提供的一个开源的...

42670
来自专栏FreeBuf

网站管理软件 – AspxSpy2014 Final

受bin牛委托修改并发布,版权归bin牛所有。 Bug/建议提交:zcgonvh@rootkit.net.cn 祝各位马年大吉,财源滚滚。 免责声明: 本程序只...

42090

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励