关于storedproc的使用问题(100分)

  • 主题发起人 主题发起人 eastfan
  • 开始时间 开始时间
E

eastfan

Unregistered / Unconfirmed
GUEST, unregistred user!
在SQL SERVER 上建立了以下存储过程:
CREATE PROCEDURE test(@Fname char(8),@Fsex char(8),@Fage char(8)) AS
insert into testtable(Fname,Fsex,Fage)
values(@Fname,@Fsex,@Fage)

在DELPHI中添加一个BUTTON 和 一个STOREDPROC
其中STOREPROC的STOREDPROCNAME 为 ‘dbo.test;1’
PARAMS 中把所有参数的TYPE设为PTINPUT

然后在BUTTON的CLICK事件中加入:

procedure TForm1.Button1Click(Sender: TObject);
begin
with self.StoredProc1 do
begin
params[0].AsString := 'kyo';
params[1].AsString := 'male';
params[2].AsString := '25';
prepare;
execproc;
end;
end;

触发该事件后
出现以下错误:
genernal SQL error
could not find stored procedure 'dbo.test;1'.'. process stopped.
use step or run to continue

不知是否在参数的设置上不对,请各位大虾赐教。

 
先放一个TDatabase来连库,然后设置StoredPorc1的DatabaseName为这个TDatabase控件。
 
eastfan:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
我做过类似的程序,好象设定存储过程后,该把后面的“;1”去掉。
 
同意JohnsonGuo,这是SQL SERVER的一个奇怪问题,有可能是BDE造成的,但是在
SQL SERVER的DESKTOP(就是安在95或NT WKS上的版本)就是好的
 
請檢查一下PARAMS中datatype設置是否為ftunknown屬性
是的話把它改為相對應的屬性--->ftstring
試一試
 
显然是存储过程的database没有设定。
 
把后面的“;1”去掉。
 
后面的“;1”是否去掉都没有什么关系。我觉得hanson说的对,关键是正确指定各参数
的属性。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部