Delphi怎么使用SQL SERVER的存储过程,参数问题
2个回答
2017-07-24
展开全部
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-07-22 · 知道合伙人互联网行家
关注
展开全部
以存储过程名sp_output为例,条件为where,返回结果为某最大单号(字符型),返回列名为output。具体按以下步骤实现:
1、创建ADO,输入执行存储过程的SQL命令:EXEC sp_output ‘’(注:引号内为条件);
2、初使化ADO,即:
ADO.close;
ADO.open;
3、调用存储过程的返回值:ADO.fieldbyname('output').asstring。
1、创建ADO,输入执行存储过程的SQL命令:EXEC sp_output ‘’(注:引号内为条件);
2、初使化ADO,即:
ADO.close;
ADO.open;
3、调用存储过程的返回值:ADO.fieldbyname('output').asstring。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询