国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

VB中調(diào)用帶參數(shù)存儲(chǔ)過(guò)程的實(shí)現(xiàn)

2019-11-18 17:52:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
VB做為快速應(yīng)用開(kāi)發(fā)(RAD)工具越來(lái)越得到開(kāi)發(fā)人員的認(rèn)可和接受。它對(duì)許多API(如ODBCAPI、SOCKETAPI等等)的封裝使得編程變得簡(jiǎn)單起來(lái)。同時(shí),它支持集成開(kāi)發(fā)環(huán)境下的可視化、事件驅(qū)動(dòng)、面向?qū)ο蟮染幊烫攸c(diǎn)。下面,我們談?wù)勗赩B中調(diào)用存儲(chǔ)過(guò)程的實(shí)現(xiàn)方法及其注意事項(xiàng)。

----我們知道,VB的數(shù)據(jù)庫(kù)編程有許多種方法,比如直接用ODBCAPI編程,這種方法靈活、高效,程序員可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)復(fù)雜的控制;也可以用VB中的數(shù)據(jù)對(duì)象,如RDO(遠(yuǎn)程數(shù)據(jù)對(duì)象)、DAO(數(shù)據(jù)訪問(wèn)對(duì)象)、ADO(ActiveX數(shù)據(jù)對(duì)象),這種方法實(shí)現(xiàn)起來(lái)方便、快捷,但靈活性較差一些。由于存儲(chǔ)過(guò)程在實(shí)現(xiàn)數(shù)據(jù)封裝、隱藏以及代碼的預(yù)編譯、減少網(wǎng)絡(luò)負(fù)載、維護(hù)方便等優(yōu)點(diǎn),所以被許多RDBMS和編程工具做支持。VB中的各類數(shù)據(jù)對(duì)象也提供對(duì)存儲(chǔ)過(guò)程的支持。

----我們以ADO為例來(lái)說(shuō)明其實(shí)現(xiàn)的步驟

----1.創(chuàng)建、調(diào)試存儲(chǔ)過(guò)程。你可以在數(shù)據(jù)庫(kù)中也可以在其他外掛程序的支持下進(jìn)行存儲(chǔ)過(guò)程的創(chuàng)建和調(diào)試工作。本例中的存儲(chǔ)過(guò)程代碼如下(使用PUBS的MSSQL中的例子庫(kù)):

CREATE‘myprocedure是你要調(diào)用的存儲(chǔ)過(guò)程名稱
mycommand.CommandType=adCmdStoredProc
‘表明command為存儲(chǔ)過(guò)程
SetrstByQuery=NewADODB.Recordset
SetrstByQuery=mycommand.Execute()
I=0
DoWhileNotrstByQuery.EOF
I=I 1‘I中保存記錄個(gè)數(shù)
rstByQuery.MoveNext
Loop
MSFlexGrid1.Rows=I 1
‘動(dòng)態(tài)設(shè)置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‘設(shè)置第一行的標(biāo)題,用域名填充

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‘這個(gè)循環(huán)用來(lái)填充MSFlexGrid的內(nèi)容

----特殊說(shuō)明

----1.Setrecordset=command.Execute(RecordsAffected,Parameters,Options)command.ExecuteRecordsAffected,Parameters,Options這是command的兩種用法,一種有返回結(jié)果集,一種沒(méi)有返回結(jié)果集。

----RecordsAffected:是指用update、delete操作時(shí)所影響的結(jié)果,對(duì)select的查詢,其值為-1;這和在Mssqlserver中的QueryAnalyzer中的不一樣。QueryAnalyzer中,select、update、delete的結(jié)果顯示的是實(shí)際查、改、刪的記錄數(shù)。

----Options:指明command的類型,有adCmdText、adCmdTable、adCmdStoredProc等等,用戶可見(jiàn)MSDN。

----2.在參數(shù)的類型中,用戶可以用varchar來(lái)代替integer,系統(tǒng)會(huì)幫你自動(dòng)實(shí)施轉(zhuǎn)化;

----3.本例中僅為帶輸入?yún)?shù)的存儲(chǔ)過(guò)程,如果要有輸出參數(shù),根據(jù)MSDN的材料,用ADO不行。你可以用RDO數(shù)據(jù)對(duì)象,MSDN中有一個(gè)例子,此處不做過(guò)多贅述;

----4.可以不用ADOCOMMAND對(duì)象,也可直接調(diào)用ADOCONNECTION的execute方法,結(jié)果很類似。

->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 景谷| 茶陵县| 永新县| 赤城县| 肇东市| 大宁县| 延寿县| 合川市| 平凉市| 久治县| 松阳县| 信宜市| 集贤县| 鹤壁市| 阿合奇县| 商洛市| 海阳市| 淳安县| 壤塘县| 建湖县| 定安县| 公主岭市| 博乐市| 浪卡子县| 泰州市| 丹凤县| 兴业县| 阳春市| 三门县| 贡觉县| 邳州市| 平和县| 岗巴县| 通化县| 阿瓦提县| 镇坪县| 英吉沙县| 五大连池市| 盖州市| 南开区| 平乡县|