当前位置: 网学 > 编程文档 > VB > 正文

VB中调用带参数存储过程的实现

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式

---- VB做为快速应用开发(RAD)工具越来越得到开发人员的认可和接受。它对许多API(如ODBC API、SOCKET API等等)的封装使得编程变得简单起来。同时,它支持集成开发环境下的可视化、事件驱动、面向对象等编程特点。下面,我们谈谈在VB中调用存储过程的实现方法及其注意事项。

---- 我们知道,VB的数据库编程有许多种方法,比如直接用ODBC API编程,这种方法灵活、高效,程序员可以实现对数据库复杂的控制;也可以用VB中的数据对象,如RDO(远程数据对象)、DAO(数据访问对象)、ADO(ActiveX 数据对象),这种方法实现起来方便、快捷,但灵活性较差一些。由于存储过程在实现数据封装、隐藏以及代码的预编译、减少网络负载、维护方便等优点,所以被许多RDBMS和编程工具做支持。VB中的各类数据对象也提供对存储过程的支持。

---- 我们以ADO为例来说明其实现的步骤

---- 1. 创建、调试存储过程。你可以在数据库中也可以在其他外挂程序的支持下进行存储过程的创建和调试工作。本例中的存储过程代码如下(使用PUBS的MS SQL中的例子库 ):

CREATE PROCEDURE myprocedure
@job_id smallint,
@job_lvl tinyint
AS
SELECT *
FROM employee
WHERE job_id < @job_id
AND job_lvl > @job_lvl

---- 2. 在VB中生成一个新的工程,工程有一窗体,一个COMMAND(NAME:COMMAND1) 按钮,一个 MSFlexGrid(NAME:MSFlexGrid1)控件。
---- 3. 创建连接ADO connection;

---- 4. 创建命令ADO command;

---- 5. 创建参数并设置各个参数的属性;

---- 6. 执行ADO command;

---- 7. 对数据进行处理;MSFlexGrid显示查询到的数据

---- 8. 释放连接,退出程序

---- 其中代码如下:

在窗体中声明以下变量:
Dim cnn1 As ADODB.Connection  ‘连接
Dim mycommand As ADODB.Command ‘命令
Dim parm_jobid As ADODB.Parameter ‘参数1
Dim parm_joblvl As ADODB.Parameter ‘参数2
Dim rstByQuery As ADODB.Recordset ‘结果集
Dim strCnn As String  ‘连接字符串

在窗体的LOAD事件中加入如下代码:
Set cnn1 = New ADODB.Connection  
‘生成一个连接
strCnn = "DSN=MYDSN;uid=sa;pwd="
‘创建的系统数据源MYDSN指向PUBS数据库
cnn1.Open strCnn  ‘打开连接
在窗体的UNLOAD中的加入代码如下:
cnn1.Close        ‘关闭连接
Set cnn1 = Nothing ‘释放连接

在按钮中的代码如下:
   Dim i As integer
   Dim j as integer  
Set parm_jobid = New ADODB.Parameter
Set mycommand = New ADODB.Command
'' parm_jobid.Name = "name1"
this line can be ommited
parm_jobid.Type = adInteger ‘参数类型
parm_jobid.Size = 3        ‘参数长度
parm_jobid.Direction = adParamInput
‘参数方向,输入或输出
parm_jobid.value = 100      ‘参数的值
mycommand.Parameters.Append
parm_jobid  ‘加入参数
  

Set parm_joblvl = New ADODB.Parameter
‘parm_joblvl.Name = "name2"
parm_joblvl.Type = adInteger
parm_joblvl.Size = 3
parm_joblvl.Direction = adParamInput
mycommand.value = 100
mycommand.Parameters.Append parm_joblvl


mycommand.ActiveConnection = cnn1   
‘指定该command 的当前活动连接
mycommand.CommandText = " myprocedure "
‘myprocedure 是你要调用的存储过程名称
mycommand.CommandType = adCmdStoredProc  
‘表明command 为存储
  • 上一篇资讯: 用VB编写"投注"程序
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号