1个回答
展开全部
storedproc:
create procedure testproc
@name char(8)
as
insert into tablename
values(@name)
delphi program:
storedproc1.storedprocname:=testproc;
..........
when storedproc1.active=true
system message: didn't find testproc ...
并且STOREDPROC1的PARAMS也对参数设置了。
当TESTPROC中不带参数时,没有错误;
storedproc1.parambyname('@name').asstring:=abc;
storedproc1.prepare;
storedproc1.execproc;
当你使用sybase时用TQuery没有问题,但用Oracle时你必须用TStoreProc
干嘛一定要用STOREDPROC组件?用query组件就挺好:
1、用一个TDATABASE控件连到数据库。
2、用一个TQUERY控件query1连到上面的TDATABASE控件。
3、query1.close;
query1.sql.clear;
query1.sql.add('exec testproc '+name参数字串);
query1.execsql;
create procedure testproc
@name char(8)
as
insert into tablename
values(@name)
delphi program:
storedproc1.storedprocname:=testproc;
..........
when storedproc1.active=true
system message: didn't find testproc ...
并且STOREDPROC1的PARAMS也对参数设置了。
当TESTPROC中不带参数时,没有错误;
storedproc1.parambyname('@name').asstring:=abc;
storedproc1.prepare;
storedproc1.execproc;
当你使用sybase时用TQuery没有问题,但用Oracle时你必须用TStoreProc
干嘛一定要用STOREDPROC组件?用query组件就挺好:
1、用一个TDATABASE控件连到数据库。
2、用一个TQUERY控件query1连到上面的TDATABASE控件。
3、query1.close;
query1.sql.clear;
query1.sql.add('exec testproc '+name参数字串);
query1.execsql;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询