发现d5的最新Bug(10分)

  • 主题发起人 主题发起人 cjfandhf
  • 开始时间 开始时间
C

cjfandhf

Unregistered / Unconfirmed
GUEST, unregistred user!
1.用tquery调用存储过程,咋办???
sql.add('过程名‘)不行!
tstoreproc有参数时不好使!
2。在服务器端执行:
with querydo

begin
close;
sql.clear;
sql.add('select top 10 * from xxx');
prepare;
open;
end;
产出错,好像top的问题,在 c/s结构中就没问题!是不是三层后,sql的一些函数命令(charindex,convert 等)不支持了????
 
好象不是所有的数据库都支持top吧,据我所知,Interbase就不支持。
》1.用tquery调用存储过程,咋办???
sql.add('过程名‘)不行!
tstoreproc有参数时不好使
Query.sql:='select * from myproc(10)' //10为储存过程参数
Storeproc.parambyname('param1').asstring:=param1;
Storeproc.executeproc;
 
sql server支持top,但到d5中就不行了!
 
d5中也可以用top,我用得好好的,但三层结构没用过。
 
2.top除了MSSQL,别的不能用,呵呵……
1.理论上说可以,而且,TStoredProc参数管理也不麻烦
 
好象这不是BUG,是老兄你自已没有使用对啊!
 
query.open的时候是必须不能有prepare的, 否则会造成资源占用, 并且无法释放.
不过好象和你的问题关系不大... ^_^
 
TQuery肯定是可以运行存储过程的。因为它是运行SQL语句的。
而运行一个存储过程对SQL 服务器来说,也是一个SQL语句。所以
肯定不会错。不知你的出错是怎么回事?不会是用OPEN来运行的吧?
 
用tquery调用存储过程的SQL为:
'execute procedure 存储过程名'
 
接受答案了.
 
后退
顶部