這段時間用了一下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
原因:當在執行之存儲過程之時候,如果有一項出項空值之時候,就會發生這樣的問題。
解決:在存儲過程中對產成的空值進行處理,即可解決。