解析使用存储过程时一个错误的解决方法

来源:岁月联盟 编辑:zhuzhu 时间:2007-08-15

这段时间用了一下C++ Builder ,在调用存储过程时遇到了一些问题,问了很多人都没有找到答案,最后还是靠自己解决了问题,现在拿出来和大家分享。

示例代码:

 

StoredProc1->Params->Clear();StoredProc1->Params->CreateParam( ftSmallint, "@m1",   ptInput);StoredProc1->Params->CreateParam( ftString,  "@m2", ptOutput);StoredProc1->Params->CreateParam( ftInteger,  "@m3", ptOutput);StoredProc1->Params->CreateParam( ftInteger, "@m4",   ptOutput);StoredProc1->Params->CreateParam( ftInteger,  "@m5", ptOutput);StoredProc1->Params->CreateParam( ftInteger, "Result", ptResult);StoredProc1->Prepare();StoredProc1->ExecProc();

问题:调用存储过程时总是报错,注意,在执行StoredProc1->ExecProc()时就会报错,其它错误的解决方法不在本篇文章范畴内。执行代码报错时的错误信息提示:

 

错误:indicator variable required but not supplied

原因:当在执行之存储过程之时候,如果有一项出项空值之时候,就会发生这样的问题。

解决:在存储过程中对产成的空值进行处理,即可解决。