Delphi6中是否可以调用Sybase Adaptive Server Anywhere7中的存贮过程?(100分)

  • 主题发起人 主题发起人 Tongzone
  • 开始时间 开始时间
T

Tongzone

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]Delphi6中是否可以调用Sybase Adaptive Server Anywhere7中的存贮过程?
各位大侠,我在ASA中有这样一个Student表:
sno sname
1 北京
2 上海
还有这样一个存储过程:
Create procedure dba.AAA_Select
as
begin
select* from student
end
我在Delphi中添加了一个StoredProc控件、一个DataSource、一个DBGrid
然后我把StoredProc的DatebaseName属性设为Student表所属别名,将StoredProcName属性
设为上述存储过程的名称AAA_Select。当我把StroedProc1的Active属性设为True时,
系统提示出错:Capability not supported.
难道Delphi6不能调用ASA7中编写的存储过程吗?
相同的代码select* from student写在MS SQL Server2000的存储过程中,然后在Delphi7
中进行相同的操作,DBGrid就可以立刻显示出Student表中的内容。
这是为什么呢?我应该怎样做呢?
100分相送!多谢啦!
 
不会吧,我把以前的做的一个系统从Sybase转到SqlServer上
基本上只改了一小部份存储过程。其它大部份相同。
你再试一试。

Create procedure AAA_Select
as
begin
select* from student
end;
 
因为我现在要做一个项目,后台数据库必须为ASA。
写存储过程确实比较方便和快捷,所以,遇到上述问题确实让我困惑不已。
我在Delphi5和Delphi6上试了多次总是如此。
但是,我发现StoredProc控件的Params属性中列出的都是表Student的字段名称。如果
把这些全部删除后,Active设为True,Delphi6显示:Wrong number of parameters to
function。但是如果把他们的ParamType都设为ptResult,会显示出Invalid parameters
。只有当Params中只有一个变量而且ParamType为ptResult时,Active设为True时Delphi
才不会报错。
我到底应该怎么做才能避免这种情况,像MS SQL Server2000那样简简单单的调用这个
简简单单的
存贮过程呢?
多谢!
 
后退
顶部