估計有很多朋友用delphi寫過與sql server 2000資料結合的一些mis系統,對於大量的資料儲存,及資料更新.常常考慮到用儲存過程來實現...今天我寫了乙個簡單的例子,希望能給一些朋友一點幫助....
1、當然,我們要在sql server 2000中建好我們的資料庫及資料表。我這裡用的資料庫是reg_nis,其中我新建了一張表叫kevin(id int not null,test nvarchar(50),
test2 nvarchar(50))其中有三個字段,id是自動增長,增長率為1。
2、當然用到儲存過程,必須先在sql server 2000中建好必要的儲存過程。我建立了4個儲存過程,功能分別是插入資料,修改資料,刪除資料,查詢資料。一般mis系統中用到也就這些。(1)、插入資料儲存過程:
create procedure [insertkevin]
(@test nvarchar(50),@test2 nvarchar(50)) as
insert into kevin(test,test2)
values
(@test,@test2)go
(2)、修改資料儲存過程:
create procedure [updatekevin]
(@id int,@test nvarchar(50),@test2 nvarchar(50))
asupdate kevin set test=@test,test2=@test2 where [id]=@id
go(3)刪除資料儲存過程:
create procedure [deletekevin]
(@id int)
asdelete from kevin where [id]=@idgo
(4)、查詢資料儲存過程
create procedure [findkevin]
(@id int)
asselect * from kevin where [id]=@id
go3、接下來,就在delphi7中新建乙個工程了。用乙個adoconnection1控制項連線到資料庫reg_nis。再放乙個adostoredproc1控制項,執行儲存過程的。
我將 adoconnection1更名為adocnn,將adostoredproc1更名為adosp
主要**:
procedure tmainform.formcreate(sender: tobject);
begin
adosp.connection:=adocnn;//將adosp連線到adocnn
end;
procedure tmainform.writeclick(sender: tobject);
begin
//注意,呼叫儲存過程時,要按引數出現的順序.
//呼叫插入資料的儲存過程
with adosp do
begin
close;
procedurename:='insertkevin';
parameters.clear;
parameters.createparameter('test',ftstring,pdinput,50,'abc');
parameters.createparameter('test2',ftstring,pdinput,50,'fff');
execproc;
end;
//呼叫修改資料的儲存過程
with adosp do
begin
close;
procedurename:='updatekevin';
parameters.clear;
parameters.createparameter('id',ftinteger,pdinput,1,15);
parameters.createparameter('test',ftstring,pdinput,50,'eee');
parameters.createparameter('test2',ftstring,pdinput,50,'ddd');
execproc;
end;
//呼叫刪除資料的儲存過程
with adosp do
begin
close;
procedurename:='deletekevin';
parameters.clear;
parameters.createparameter('id',ftinteger,pdinput,1,15);
execproc;
end;
//呼叫查詢資料的儲存過程
with adosp do
begin
close;
procedurename:='findkevin';
parameters.clear;
parameters.createparameter('id',ftinteger,pdinput,1,3);
// execproc;//在執行命令的儲存過程中用execproc
open;
//在查詢的儲存過程時,用open;也可用
end;
// edit1.text :=adosp.parameters[0].value;
end;
DELPHI如何呼叫儲存過程
第一步建立儲存過程 create proc myabc a int b int,c int output asset c a b 在sql中使用查詢分析器執行 declare a int,b int,c int set a 250 set b 40 exec myabc a,b,c output 注...
DELPHI如何呼叫儲存過程
第一步建立儲存過程 create proc myabc a int b int,c int output asset c a b 在sql中使用查詢分析器執行 declare a int,b int,c int set a 250 set b 40 exec myabc a,b,c output 注...
DELPHI儲存過程呼叫
網上對該問題的帖子很多,但是經常不是很全面,筆者在使用時也遇到了很多實際問題,比如引數不存在啊 型別沒有引用啊等等。下面我盡量細緻地來通過例子實現一下,如果還有不正確的地方,希望得到高手指點,有興趣的可以和我一同 zyf0808 yeah.net 首先,我們使用一種簡單的方式,即通過控制項的方式來定...