vba 用adodb连接mysql_ExcelVBA利用ADODB访问数据库使用总结.doc

本文总结了Excel VBA如何利用ADODB组件连接MySQL数据库,包括建立连接、执行SQL(如查询、插入、更新和删除)及调用存储过程的方法。通过Recordset对象操作数据,并介绍了引用记录集结果的方式,例如获取字段数量、字段值以及将数据复制到Excel工作表。同时,展示了如何设置Command对象以执行存储过程并传递参数。
摘要由CSDN通过智能技术生成

ExcelVBA利用ADODB访问数据库使用总结

Excel VBA利用ADODB访问数据库使用

▲连接Oracle数据 Set cnn CreateObject "ADODB.Connection" cnn.Open "Provider msdaora;Data Source dl580;User Id emssxjk;Password emssxjk;" dl580是tnsnames.ora中配置的服务名。

▲创建记录集recordset Set rst CreateObject "ADODB.Recordset" sqls "select * from tb_city" Set rst cnn.Execute sqls 这儿的SQL语句除了查询语句select以外,也可以用insert、update、delete等命令,也可以用truncate table这些SQL语句也可以用command对象完成。command对象还可以进行存储过程的调用并传递参数。

▲记录集结果的引用

Excel VBA 通ADO取到数据后,有如下引用方式(假定rst):

1、字段数量:rst.fields.count;

2、字段名称:rst.fields 0 .name,0表示第一个字段,其它字段分别是1,2,...rst.fields.count-1;

3、字段rst 0 或者rst 0 .Value或者rst.fields 0 .value,0表示第一个字段,也可以用字段名代替,如:rst "city" ;

4、整个?Range "a2" .CopyFromRecordset?rst命令将A2单元格开始的工作表中;

5、rst.movenext可以移rst.eof true,Excel VBA只支持向前移 rst.movenext ;

6、记录数:rst.RecordCount是反VBA中却-1,不rst.eof判断有无rst.eof true就表示

▲调用存储过程

1、

2、定义存储过程 Set cmd CreateObject "ADODB.Command" Set cmd.ActiveConnection cnn cmd.CommandText "zfqf_bag2mail"?? '存 cmd.CommandType adCmdStoredProc

3、参数 cmd.Parameters 0 .Value Cells row1, pos_acc cmd.Parameters 1 .Value Cells row1, pos_lab 4、 cmd.Execute

这个存储过程的结果保存在表中,通过查询语句得到结果,没有通过变了返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值