如何用简单的方法动态调用Sql 2000中不同数据库中的存储过程?(70分)

  • 主题发起人 主题发起人 mycwcgr
  • 开始时间 开始时间
M

mycwcgr

Unregistered / Unconfirmed
GUEST, unregistred user!

如何用简单的方法动态调用Sql 2000中不同数据库中的存储过程?

在三层数据库中的远程数据库模块上,有ADOConnection1控件和ADOStoredProc1控件,
ADOConnection1控件连接用户数据库ghc(其DefaultDatabase属性值为ghc),
ADOStoredProc1控件的Connection属性设置为ADOConnection1。现在我首先将调用ghc数据库
中的存储过程一切正常,但是当我调用master中的存储过程sp_password时(即将ADOConnection1
的ProcedureName的属性设置为sp_password),运行时却出现参数没有发现的错误。
如何解决?您不会让我另外增加一个ADOConnection2控件,并设置其DefaultDatabase属性值为master吧?
 
是的,我就是想这样告诉你,你可以去试试,这也是,DELPHI不如POWERBUILD的地方
 
临时创建的好。这怎么是不如PB的地方?这样也不错啊。
 
用ADOQuery来调用吧
SQL.Add('EXEC master..sp_password(...)')
 
第一你如果储存过程有参数,你必须要刷新从而得到该存储过程的参数列表
第二你如果储存过程有参数,你必须给参数赋值
 
AdoStroredPro控件动态的指定存储过程名称后,如果存储过程要求参数,则此过程不能
正确执行,请问如何解决?


To:zbsfg
"第一你如果储存过程有参数,你必须要刷新从而得到该存储过程的参数列表"
请问如何刷新

 
看不到答案啊,怎么回事
 
ADOSpMain.ProcedureName:='updateData_bh';
adospmain.Parameters.Refresh;
ADOSTORE控件的设置必须保持初始状态,即PROCDURENAME为空,并且一定为清除PARAMETERS的
设置
 
ADOSpMain.ProcedureName:='updataDataBasic';
adospmain.Parameters.Refresh; //<-this
adospmain.Parameters.ParamByName('@ID').value:=curID;
 
用ADOQuery来调用吧
SQL.Add('EXEC master..sp_password(...)')
我就是这样用的
 
多人接受答案了。
 
mycwcgr:
这样派分不公平吧,看清楚先,是我先找出正确答案的。
虽然我并不在乎这点分,可是这样一来怎么能体现大富翁排名的意义?
 
Sorry,我操作失误
 
OK,原谅你了
 
不过我也不在乎这一点分的!
 
后退
顶部