虚拟主机行业最新资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:站长资讯>-> 图形图象-> PHOTOSHOP教程
vb中调用带参数存储过程的实现_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,空间150元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
VB做为快速应用开发(RAD)工具越来越得到开发人员的认可和接受。它对许多API(如ODBCAPI、SOCKETAPI等等)的封装使得编程变得简单起来。同时,它支持集成开发环境下的可视化、事件驱动、面向对象等编程特点。下面,我们谈谈在VB中调用存储过程的实现方法及其注意事项。

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

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

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

CREATEPROCEDUREmyprocedure
@job_idsmallint,
@job_lvltinyint
AS
SELECT*
FROMemployee
WHEREjob_id<@job_id
ANDjob_lvl>@job_lvl

----2.在VB中生成一个新的工程,工程有一窗体,一个COMMAND(NAME:COMMAND1)按钮,一个MSFlexGrid(NAME:MSFlexGrid1)控件。

----3.创建连接ADOconnection;

----4.创建命令ADOcommand;

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

----6.执行ADOcommand;

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

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

----其中代码如下:

在窗体中声明以下变量:
Dimcnn1AsADODB.Connection‘连接
DimmycommandAsADODB.Command‘命令
Dimparm_jobidAsADODB.Parameter‘参数1
Dimparm_joblvlAsADODB.Parameter‘参数2
DimrstByQueryAsADODB.Recordset‘结果集
DimstrCnnAsString‘连接字符串

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

在按钮中的代码如下:
DimIAsinteger
Dimjasinteger
Setparm_jobid=NewADODB.Parameter
Setmycommand=NewADODB.Command
parm_jobid.Name="name1"
thislinecanbeommited
parm_jobid.Type=adInteger‘参数类型
parm_jobid.Size=3‘参数长度
parm_jobid.Direction=adParamInput
‘参数方向,输入或输出
parm_jobid.value=100‘参数的值
mycommand.Parameters.Append
parm_jobid‘加入参数


Setparm_joblvl=NewADODB.Parameter
‘parm_joblvl.Name="name2"
parm_joblvl.Type=adInteger
parm_joblvl.Size=3
parm_joblvl.Direction=adParamInput
mycommand.value=100
mycommand.Parameters.Appendparm_joblvl


mycommand.ActiveConnection=cnn1
‘指定该command的当前活动连接
mycommand.CommandText="myprocedure"
‘myprocedure是你要调用的存储过程名称
mycommand.CommandType=adCmdStoredProc
‘表明command为存储过程
SetrstByQuery=NewADODB.Recordset
SetrstByQuery=mycommand.Execute()
I=0
DoWhileNotrstByQuery.EOF
I=I 1‘I中保存记录个数
rstByQuery.MoveNext
Loop
MSFlexGrid1.Rows=I 1
‘动态设置MSFlexGrid的行和列
MSFlexGrid1.Cols=rstByQuery.Fields.Count 1
MSFlexGrid1.Row=0
ForI=0TorstByQuery.Fields.Count-1
MSFlexGrid1.Col=I 1
MSFlexGrid1.Text=rstByQuery.Fields.Item(I).Name
Next‘设置第一行的标题,用域名填充

I=0
SetrstByQuery=mycommand.Execute()
DoWhileNotrstByQuery.EOF
I=I 1
MSFlexGrid1.Row=I‘确定行
Forj=0TorstByQuery.Fields.Count-1
MSFlexGrid1.Col=j 1
MSFlexGrid1.Text=rstByQuery(j)
‘添充所有的列
Next
rstByQuery.MoveNext

Loop‘这个循环用来填充MSFlexGrid的内容

----特殊说明

----1.Setrecordset=command.Execute(RecordsAffected,Parameters,Options)command.ExecuteRecordsAffected,Parameters,Options这是command的两种用法,一种有返回结果集,一种没有返回结果集。

----RecordsAffected:是指用update、delete操作时所影响的结果,对select的查询,其值为-1;这和在Mssqlserver中的QueryAnalyzer中的不一样。QueryAnalyzer中,select、update、delete的结果显示的是实际查、改、删的记录数。

----Options:指明command的类型,有adCmdText、adCmdTable、adCmdStoredProc等等,用户可见MSDN。

----2.在参数的类型中,用户可以用varchar来代替integer,系统会帮你自动实施转化;

----3.本例中仅为带输入参数的存储过程,如果要有输出参数,根据MSDN的材料,用ADO不行。你可以用RDO数据对象,MSDN中有一个例子,此处不做过多赘述;

----4.可以不用ADOCOMMAND对象,也可直接调用ADOCONNECTION的execute方法,结果很类似。

->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
文章页数:[1] 
相关主题
  • vb中调用word拼写检查_visualbasic教程
  • vb中调用windowsapi的注意事项_visualbasic教程
  • Google

    热门文章
    ·用vb6.0编写磁盘格式化程序_visualbasic教程
    ·如何让setuid的shellscript可以使用?_shell教程
    ·setformname=nothing_visualbasic教程
    ·visualbasic5.0中实现视频画中画_visualbasic教程
    ·锁住数据库中的表_visualbasic教程
    ·visualbasic6中发送邮件的新方法_visualbasic教程
    ·vb5.0中基于桌面的屏幕技巧_visualbasic教程
    ·宽带cable modem业务的技术平台(四)_视频通信
    ·在vb程序中通过回收站删除文件_visualbasic教程
    ·创建显示器造型_autocad教程

    最新文章
    ·photoshop金属字制作方法_photoshop教程
    ·photoshop照片特效处理:隐藏脸部轮廓凸显五官_photoshop教程
    ·photoshop另类双色调灰度图_photoshop教程
    ·php论坛服务器架构_php技巧
    ·使用ado.net2.0提升数据交互性能(1) _ado.net应用
    ·xslt document()函数在ie与firefox中的区别_xsl教程
    ·fireworks精细描绘cs游戏中的枪支_fireworks教程
    ·photoshop基础教程:跟我学调色练习17-奇妙的可选颜色_photoshop教程
    ·photoshop打造岩石上的竹子效果图_photoshop教程
    ·photoshop与imageready制作精致闪光吊坠图案_photoshop教程

    相关主题
  • vb中调用word拼写检查_visualbasic教程
  • vb中调用windowsapi的注意事项_visualbasic教程



  • 友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 一班在线
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机


    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
      打印  刷新  关闭
     


    联系我们  |  广告服务  |  免责声明  |  友情连接
    Copyright ?2005 - 2006 All Rights Reserved
    蜀ICP备05000045号