Delphi下调用有返回值的存储过程

Posted on 2008-07-13 13:59  白兴科技  阅读(1242)  评论(0编辑  收藏  举报
StorPro:=TADOStoredProc.Create(nil);
 
然后定义存储过程的名字和输入参数:
StorPro.ProcedureName:=ProName;
StorPro.Parameters.clear;
StorPro.Close;
StorPro.Parameters.CreateParameter('as_gh', ftString, pdInput , 10, NULL);
StorPro.Parameters.CreateParameter('as_in', ftString, pdInput , 100, NULL);
StorPro.Parameters.CreateParameter('as_out', ftString, pdOutput , 255, NULL);
大家可能看到函数CreateParameter中的第3个参数,pdInput 就是用来定义此参数是输入参数函数输出参数。具体的参数函数是:存储过程参数名称、类型、输入输出参数类型、长度还有就是最后一个参数Delphi帮助中说是Value: OleVariant,不过我没有用过。一般我赋值为NULL。
上面的过程是定义这个存储过程的参数。在调用的时候自然需要给参数赋值。
赋值过程为(其中WorkID和DataID是事先定义好的两个变量):
StorPro.Parameters[0].value :=WorkID;
StorPro.Parameters[1].value :=DataID;
赋值完成后运行此存储过程:
StorPro.prepared:=true;
StorPro.ExecProc;
好了存储过程调用以后,我们希望得到这次存储过程返回的参数'as_out'的值。
str1:=StorPro.Parameters.parambyname('as_out').Value;

Copyright © 2024 白兴科技
Powered by .NET 8.0 on Kubernetes