DELPHI中怎样调用存储过程(10分)

  • 主题发起人 主题发起人 itassist06
  • 开始时间 开始时间
I

itassist06

Unregistered / Unconfirmed
GUEST, unregistred user!
在DELPHI中怎样调用存储过程,假如我现在已有一个存储过程名为test,该怎样编写代码呢,
 
利用delphi的控件TStoreProc
 
tstoreproc
tadoquery
好像adoquery好用点,storeproc执行动态存储过程不好用。。。
 
各位老大,我是初学,要不要写代码,如果需要请帮我写一下写代码
 
SQL语句是
EXEC TEST(存储过程),如果这个存储过程里有参数的话可以加在TEST之后
 
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add('exec test');
adoquery.sql.execsql;
 
我需要完整代码
 
Thank you !!!
 
gggoobm說的方法用到哪些控件
 
就tadoquery。
 
数据库存储过程:
CREATE PROCEDURE dbo.myupdata
@sjzc varchar(200),
@zkzh varchar(200)
AS
set nocount on
begin
update dbo.sj2
set zc=@sjzc, Username='sa', time=getdate(),sjlx='A' , mc='bj', ReadNumber=2
where zkzh=@zkzh
end
GO
/////////////////////////////////////////////////////
程序代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
unit2.DataModule2.ADOStoredProc1.Close;
unit2.DataModule2.adostoredproc1.ProcedureName:='myupdata';
unit2.DataModule2.adostoredproc1.Parameters.Refresh;
unit2.DataModule2.adostoredproc1.Parameters[1].value:=edit1.text;
unit2.DataModule2.adostoredproc1.Parameters[2].value:=edit2.text;
unit2.DataModule2.adostoredproc1.ExecProc;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
with unit2.DataModule2.adoConnection1 do
try
Connected := False;
ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=True;Data Source=(local);Initial Catalog=test;User ID=sa;Password=666666';
Connected := true;
except
on E : Exception do
begin
Showmessage( E.Message);
end;
end;
end;

我试过了没问题,你修改一下就可以了。
 
不行,它不認識test
 
那是数据库名,改成你自己的
 
unit2.DataModule2.adostoredproc1.Parameters[1].value:=edit1.text;
unit2.DataModule2.adostoredproc1.Parameters[2].value:=edit2.text;
中的
edit1.text;
edit2.text;
是干什么用的
 
是存储过程调用过程中涉及到的两个参数。
 
跟 SELECT 语句一样用,如果没返回值就用execute
 
procedure TForm1.FormShow(Sender: TObject);
在這一行提示錯誤
 
接受答案了.
 
后退
顶部