日期:2013-06-27  浏览次数:20433 次

jackxm(原作)

这段时间用了一下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

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

处理:在存储过程中对产成的空值进行处理,就可以了