簡(jiǎn)介:DELPHI存儲(chǔ)過(guò)程2009年02月26日星期四1636首先,打開(kāi)SQLSERVER管理器,在PUBS數(shù)據(jù)庫(kù)中建一個(gè)測(cè)試表,表名為TEST,字段有ID,NAME,和DESC,全部為字符型,如果你不知道建表,那么打開(kāi)SQL查詢分析器,貼上以下的代碼,然后按執(zhí)行,就會(huì)自動(dòng)生成TEST表USEPUBSIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBOTESTANDOBJECTPROPERTYID,NISUSERTABLE1DROPTABLEDBOTESTGOCREATETABLEDBOTESTIDCHAR10COLLATECHINESE_PRC_CI_ASNOTNULL,NAMECHAR12COLLATECHINESE_PRC_CI_ASNULL,DESCRIPCHAR30COLLATECHINESE_PRC_CI_ASNULLONPRIMARYGO然后,我們來(lái)創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,其功能為在TEST中插入一條新記錄創(chuàng)建存儲(chǔ)過(guò)程的代碼如下,同樣的,你也可以復(fù)制到查詢分析器里直接執(zhí)行就可以CREATEPROCEDUREMYINSERTIDCHAR10,NAMEVARCHAR12,DESCRIPVARCHAR30ASBEGININSERTINTOTESTID,NAME,DESCRIPVALUESID,NAME,DESCRIPIFROWCOUNT0BEGINRAISERRORERROR,16,1ROLLBACKTRANSACTIONENDENDGO接下來(lái),新建一個(gè)工程文件,在FORM1上放置如下控件,并設(shè)置屬性括號(hào)內(nèi)一個(gè)ADOCONNECTION1TADOCONNECTIONLOGINPROMPTFALSECONNECTIONSTRINGPROVIDERSQLOLEDB1PERSISTSECURITYINFOTRUEUSERIDSAINITIALCATALOGPUBSDATASOURCELOCAL②QUERY類型組件,同樣,BDE里有,DBG里有,DBEXPRESS里也有QUERY,STROPROC是調(diào)用有返回值和無(wú)返回值的都可以,STROPROC用起來(lái)要比QUERY方便些,必竟他是專門用于執(zhí)行存儲(chǔ)過(guò)程的,它會(huì)自動(dòng)讀入存儲(chǔ)過(guò)程所需要傳入的叁數(shù),如果要執(zhí)行有返回?cái)?shù)據(jù)集的視圖,只能用QUERY類的組件,其實(shí)視圖與表的用法是一樣的,SELECTFROM視圖文件如何用QUERY,STOREDPROC組件去執(zhí)行一個(gè)存儲(chǔ)過(guò)程呢下面是一個(gè)用存儲(chǔ)過(guò)程增加記錄的例子存儲(chǔ)過(guò)程代碼如下CREATEPROCEDUREADDMENUIDVARCHAR10,WINENAMEVARCHAR20ASBEGINSETNOCOUNTONINSERTINTO菜單酒水編號(hào),酒水名稱VALUESID,WINENAMESETNOCOUNTOFFENDGO用QUERY來(lái)執(zhí)行是這樣子的必須動(dòng)態(tài)傳入叁數(shù)應(yīng)用程序中用ADOQUERY來(lái)執(zhí)行這個(gè)存儲(chǔ)過(guò)程不要去給ADOQUERYPARAMETERS設(shè)叁數(shù)名稱PROCEDURETFORM1BUTTON1CLICKSENDERTOBJECTBEGINADOQUERY1SQLCLEARADOQUERY1SQLADDADDMENU1ID,WINENAME//存儲(chǔ)過(guò)程名稱后面加上1,后面跟的就是要傳入的叁數(shù)ADOQUERY1PARAMETERSPARAMBYNAMEIDVALUEEDIT1TEXT//為叁數(shù)賦值A(chǔ)DOQUERY1PARAMETERSPARAMBYNAMEWINENAMEVALUEEDIT2TEXTADOQUERY1EXECSQLEND用STROEDPROC是這樣子的可以動(dòng)態(tài)也可以靜態(tài)
下載積分: 3 賞幣
上傳時(shí)間:2024-05-21
頁(yè)數(shù): 5
大?。?0.04(MB)
子文件數(shù):