版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、delphi 存儲(chǔ)過(guò)程 2009 年 02 月 26 日 星期四 16:36首先,打開(kāi) sql server 管理器,在 pubs 數(shù)據(jù)庫(kù)中建一個(gè)測(cè)試表,表名為 test,字段有id,name,和 desc,全部為字符型,如果你不知道建表,那么打開(kāi) sql 查詢分析器,貼上以下的代 碼,然后按執(zhí)行,就會(huì)自動(dòng)生成 test 表. use pubs if exists (select * from dbo.sysobjects where
2、 id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[test] GO CREATE TABLE [dbo].[test] ( [id] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [name] [char] (
3、12) COLLATE Chinese_PRC_CI_AS NULL , [descrip] [char] (30) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO 然后,我們來(lái)創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,其功能為在 test 中插入一條新記錄.創(chuàng)建存儲(chǔ)過(guò)程的代碼如下,同樣的,你也可以復(fù)制到查詢分析器里直接執(zhí)行就可以: CREATE PROCEDURE myInsert @id char(10
4、) , @name varchar(12), @descrip varchar(30) AS begin insert into test (id,name,descrip) values (@id,@name,@descrip) if @@rowcount=0 begin raiserror('error',16,1) rollback transaction end end GO 接下來(lái),新建一個(gè)工程文件,在
5、 form1 上放置如下控件,并設(shè)置屬性(括號(hào)內(nèi)): 一個(gè) ADOConnection1: TADOConnection; (LoginPrompt:=false; connectionstring:=Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=(local);) ② Query 類型組件,同樣
6、,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ù)集的視圖,只能用
7、Query 類的組件,其實(shí)視圖與表的用法是一樣 的,Select * From 視圖文件 --------------------------------------------------------------------------------如何用 Query,StoredProc 組件去執(zhí)行一個(gè)存儲(chǔ)過(guò)程呢?-------------------------------------------------------------
8、-------------------下面是一個(gè)用存儲(chǔ)過(guò)程增加記錄的例子存儲(chǔ)過(guò)程代碼如下: --------------------------------------CREATE PROCEDURE ADDMENU(@ID VARCHAR(10),@WINENAME VARCHAR(20)) ASBEGINSet NoCount OnInsert Into 菜單 (酒水編號(hào),酒水名稱) Values (@ID,@WINENAME)Se
9、t NoCount OffENDGO ---------------用 Query 來(lái)執(zhí)行是這樣子的(必須動(dòng)態(tài)傳入叁數(shù))------------------------------------------------應(yīng)用程序中用 ADOQuery 來(lái)執(zhí)行這個(gè)存儲(chǔ)過(guò)程(不要去給 ADOQuery->Parameters 設(shè)叁數(shù)名稱)procedure TForm1.Button1Click(Sender: TObject); beg
10、in ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('ADDMENU;1:@ID,:@WineName');//存儲(chǔ)過(guò)程名稱后面加上(;1),后面跟 的就是要傳入的叁數(shù)ADOQuery1.Parameters.ParamByName('@ID').Value := Edit1.Text;//為叁數(shù)賦值 ADOQuery1.Parameters.ParamByName('
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 存儲(chǔ)過(guò)程
- 存儲(chǔ)過(guò)程
- 存儲(chǔ)過(guò)程22157
- 存儲(chǔ)過(guò)程24939
- 存儲(chǔ)過(guò)程24375
- sql存儲(chǔ)過(guò)程
- 存儲(chǔ)過(guò)程23968
- 《存儲(chǔ)過(guò)程》練習(xí)
- vb調(diào)用存儲(chǔ)sql server 2000存儲(chǔ)過(guò)程
- sql存儲(chǔ)過(guò)程習(xí)題
- 存儲(chǔ)過(guò)程的概念
- oracle存儲(chǔ)過(guò)程學(xué)習(xí)經(jīng)典
- [delphi]delphi 線程的終止和退出
- 存儲(chǔ)過(guò)程與觸發(fā)器
- oracle 的存儲(chǔ)過(guò)程及游標(biāo)
- sql存儲(chǔ)過(guò)程入門教程
- delphi(英)
- 第十章 存儲(chǔ)過(guò)程
- 存儲(chǔ)過(guò)程與自定義函數(shù)
- db2存儲(chǔ)過(guò)程簡(jiǎn)單例子
評(píng)論
0/150
提交評(píng)論