分享
 
 
 

VB6.0 调用存储过程的例子 (前言)

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

VB调用存储过程的例子 前言

(说明:以下代码摘自微软的MSDN,经过测试没问题。)

VB调用存储过程的方法很多,如利用ADO对象的Recordset.Open方法,ADO对象的Connection.Excute方法等,都可以获得记录集信息。本主题讨论的是使用Parameter对象调用存储过程,而且可以获得许多意外的信息。

首先需要在Sql Server中建立一个存储过程。请确定已安装了Sql Server 2000的任何版本,且含有Pubs数据库。

打开“查询分析器”,启动你本地的SqlServer,然后将以下的Sql语句Copy到所打开的查询编辑框中。按下“F5”键。OK,存储过程ADOTestRPE便生成了。

Use Pubs

GO

if exists (select * from sysobjects where id =

object_id('dbo.ADOTestRPE') and sysstat & 0xf = 4)

drop procedure dbo.ADOTestRPE

GO

create procedure ADOTestRPE

(

@SetRtn INT=0 OUTPUT,

@R1Num INT=1,

@P1Num INT=1,

@E1Num INT=1,

@R2Num INT=2,

@P2Num INT=2,

@E2Num INT=2

)

AS

DECLARE @iLoop INT

DECLARE @PrintText VARCHAR(255)

DECLARE @iErrNum INT

/* Check for no Resultsets - needed to get the RETURN value back */

IF @R1Num + @R2Num = 0 SELECT NULL

/* Resultset 1 ******************************* */

IF @R1Num > 0

BEGIN

SET ROWCOUNT @R1Num

SELECT 'Resultset 1' RsNum, Title

FROM Pubs..Titles

SET ROWCOUNT 0

End

/* Must raise a default error context in which to return the PRINT */

/* statement */

/* (if none present) since PRINT statements are a severity level of */

/*0. */

IF (@P1Num > 0) AND (@E1Num = 0) RAISERROR ("RAISERROR.PError1",

11, 2)

IF @P1Num > 0

BEGIN

SELECT @iLoop = 0

WHILE @iLoop < @P1Num

BEGIN

SELECT @iLoop = @iLoop + 1

SELECT @PrintText = 'PRINT.Resultset.1: Line ' +

CONVERT(char(2), @iLoop)

PRINT @PrintText

End

End

IF @E1Num > 0

BEGIN

SELECT @iLoop = 0

WHILE @iLoop < @E1Num

BEGIN

SELECT @iLoop = @iLoop + 1

SELECT @iErrNum = @iLoop + 201000

RAISERROR ("RAISERROR.Resultset.1", 11, 2)

End

End

/* Resultset 2 ******************************* */

IF @R2Num > 0

BEGIN

SET ROWCOUNT @R2Num

SELECT 'Resultset 2' RsNum, Title

FROM Pubs..Titles

SET ROWCOUNT 0

End

/* Must raise a default error context in which to return the PRINT */

/* statement */

/* (if none present) since PRINT statements are a severity level of */

/* 0. */

IF (@P2Num > 0) AND (@E2Num = 0) RAISERROR ("RAISERROR.PError2",

11, 2)

IF @P2Num > 0

BEGIN

SELECT @iLoop = 0

WHILE @iLoop < @P2Num

BEGIN

SELECT @iLoop = @iLoop + 1

SELECT @PrintText = 'PRINT.Resultset.2: Line ' +

CONVERT(char(2), @iLoop)

PRINT @PrintText

End

End

IF @E2Num > 0

BEGIN

SELECT @iLoop = 0

WHILE @iLoop < @E2Num

BEGIN

SELECT @iLoop = @iLoop + 1

SELECT @iErrNum = @iLoop + 202000

RAISERROR ("RAISERROR.Resultset.2", 11, 2)

End

End

/* Return & Output ************************************ */

select @SetRtn = -1

RETURN @SetRtn

GO

运行完毕后,若不存在任何错误,请关闭“查询分析器”,然后继续下面的操作。否则可能是你的Sql Server 2000没有安装正确或Copy时出了问题。

打开VB6.0,新建一个工程,默认有一个窗体Form1(若没有请添加一个新的窗体,命名为Form1),在该窗体中添加一个CommandButton。保存该工程。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有