当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 使用存储过程时一个错误的解决方法

MSSQL
查看当前进程,或死锁进程,并能自动杀掉死进程
配置SQL Server 2000选项
使用SQL Mail收发和自动处理邮件中的扩展存储过程简介
如何删除数据库中的冗余数据(翻译)
SQL SERVER 2000系统支持的跟踪函数
异构数据库之间的导入导出
一个四用户信息同步更新的存储过程
Oracle数据库诊断案例-redo log日志组处于高激活状态
如何手动删除 SQL Server 2000 默认实例、命名实例或虚拟实例
ORACLE优化器
PL/SQL开发中动态SQL的使用方法
解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案
使用正规表达式编写更好的SQL
查看SQL Server数据空间分配情况
SQL Server编写存储过程小工具(一)
SQL Server编写存储过程小工具(二)
SQL Server编写存储过程小工具(三)
在IE中直接连接SQL数据库
Sql server数据库备份还原另一方法
Windows 2000下优化Oracle9i性能

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 62 ::
收藏到网摘: n/a

 

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

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

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