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