(ADO)--执行存储过程的错误

doghead 2002-07-23 01:50:09
后台是SQL Server数据库,存储过程为GetMainTable
在执行存储过程时出现错误,
存储过程的参数和数据库中的顺序等完全一致,他去提示没提供参数。
代码如下:
<%
dim AssociatorID
dim RegionCode
dim TradeSortCode
dim HQCode
dim AssociatorLocalNO
dim EnterpriseCode
dim AssociatorName
dim Principal
dim Address
dim Postalcode
dim Telphone
dim NetworkSortCode
dim ApplyTime
dim ServiceSortCode
dim ServiceCharacterCode
dim CertifierCode
dim ret
AssociatorID=request.cookies("AssociatorID")
set cmdGetMain=server.createobject("ADODB.Command")
cmdGetMain.activeconnection=strconn
cmdGetMain.commandtype=adcmdstoredproc
cmdGetmain.commandtext="dbo.GetMainTable"
with cmdGetMains
.parameters.append .createparameter("RETURN_VALUE",adinteger,adparamreturnvalue)
if err then
response.write "error here"
else
response.write "i am right"
end if
.parameters.append .createparameter("@AssociatorID",adinteger,adparaminput,5,AssociatorID)
.parameters.append .createparameter("@RegionCode",adtinyint,adparamoutput)
.parameters.append .createparameter("@TradeSortCode",adtinyint,adparamoutput)
.parameters.append .createparameter("@HQCode",adsmallint,adparamoutput)
.parameters.append .createparameter("@AssociatorLocalNO",adsmallint,adparamoutput)
.parameters.append .createparameter("@EnterpriseCode",adchar,adparamoutput)
.parameters.append .createparameter("@AssociatorName",adchar,adparamoutput)
.parameters.append .createparameter("@Principal",adchar,adparamoutput)
.parameters.append .createparameter("@Address",adchar,adparamoutput)
.parameters.append .createparameter("@Postalcode",adchar,adparamoutput)
.parameters.append .createparameter("@Telphone",adchar,adparamoutput)
.parameters.append .createparameter("@NetworkSortCode",adtinyint,adparamoutput)
.parameters.append .createparameter("@ApplyTime",adTimeStamp,adparamoutput)
.parameters.append .createparameter("@ServiceSortCode",adtinyint,adparamoutput)
.parameters.append .createparameter("@ServiceCharacterCode",adtinyint,adparamoutput)
.parameters.append .createparameter("@CertifierCode",adtinyint,adparamoutput)

.execute ,,adExectueNoRecodes
'在这里出错,
'---------------------------------------------------*/
'Warning The Following Error Has Occurred:
'过程 'GetMainTable' 需要参数 '@Postalcode',但未提供该参数。
'-2147217904
'Microsoft OLE DB Provider for SQL Server
'---------------------------------------------------*/
ret= .parameters("RETURN_VALUE")

if ret=1 then
RegionCode=.parameters("@RegionCode")
TradeSortCode=.parameters("@TradeSortCode")
HQCode=.parameters("@HQCode")
AssociatorLocalNO=.parameters("@AssociatorLocalNO")
EnterpriseCode=.parameters("@EnterpriseCode")
AssociatorName=.parameters("@AssociatorName")
Principal=.parameters("@Principal")
Address=.parameters("@Address")
Postalcode=.parameters("@Postalcode")
Telphone=.parameters("@Telphone")
NetworkSortCode=.parameters("@NetworkSortCode")
ApplyTime=.parameters("@ApplyTime")
ServiceSortCode=.parameters("@ServiceSortCode")
ServiceCharacterCode=.parameters("@ServiceCharacterCode")
CertifierCode=.parameters("@CertifierCode")
response.write telphone
--------------------------------------------------------------------------
创建存储过程的SQL代码如下

CREATE PROCEDURE dbo.GetMainTable
@AssociatorID int,
@RegionCode tinyint output ,
@TradeSortCode tinyint output,
@HQCode smallint output,
@AssociatorLocalNO smallint output ,
@EnterpriseCode char (10) output ,
@AssociatorName char (40) output ,
@Principal char (12) output ,
@Address char (50) output ,
@Postalcode char (6) output ,
@Telphone char (40) output ,
@NetworkSortCode tinyint output ,
@ApplyTime datetime output ,
@ServiceSortCode tinyint output ,
@ServiceCharacterCode tinyint output ,
@CertifierCode tinyint output

AS
declare @ret int;
exec @ret=VerifyPopedom @AssociatorID;//这里参数正确
if @ret=0 return 0;
select
@RegionCode=RegionCode ,
@TradeSortCode =TradeSortCode,
@HQCode =HQCode,
@AssociatorLocalNO=AssociatorLocalNO,
@EnterpriseCode=EnterpriseCode,
@AssociatorName= AssociatorName,
@Principal=Principal,
@Address=Address,
@Postalcode=Postalcode,
@Telphone =Telphone,
@NetworkSortCode =NetworkSortCode,
@ApplyTime =ApplyTime,
@ServiceSortCode =ServiceSortCode,
@ServiceCharacterCode =ServiceCharacterCode,
@CertifierCode =CertifierCode
from MainInformation
where AssociatorID=@AssociatorID;
return 1;
GO
...全文
59 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
york00 2002-07-25
  • 打赏
  • 举报
回复
输入和输出的参数都要加上长度,如果是char型的,要加上本来长度,varchar型的要加上最大长度。
doghead 2002-07-25
  • 打赏
  • 举报
回复
现在问题已解决
.parameters.append .createparamete ("@Principal",adchar,adparamoutput,6)
参数应加上长度
doghead 2002-07-23
  • 打赏
  • 举报
回复
错误信息:
3708
ADODB.Parameters
Parameter 对象被不正确地定义。提供了不一致或不完整的信息。
doghead 2002-07-23
  • 打赏
  • 举报
回复
freezwy(网络自由人) 的建议我查过了,问题没解决,
york00 2002-07-23
  • 打赏
  • 举报
回复
这个问题我也碰到了,查来查去都不知道为什么,等待答案
freezwy 2002-07-23
  • 打赏
  • 举报
回复
那是你数据库的设计问题,就是说你把POSTCODE字段设计成必填的了,你最好把这个字段设计成char(6)或者varchar(6)并且允许NULL,在客户端提交的时候尽量做完整性检查。
freezwy 2002-07-23
  • 打赏
  • 举报
回复
那是你数据库的设计问题,就是说你把POSTCODE字段设计成必填的了,你最好把这个字段设计成char(6)或者varchar(6)并且允许NULL,在客户端提交的时候尽量做完整性检查。
doghead 2002-07-23
  • 打赏
  • 举报
回复
当把存储过程的前三行注释掉时
/*( declare @ret int;
exec @ret=VerifyPopedom @AssociatorID;//这里参数正确
if @ret=0 return 0;)*/
则出现指示EnterpriseCode=.parameters("@EnterpriseCode")
参数不完整的错误,
最近在学习数据编程,这本书相当不错,共享一下,有需要的朋友就下载吧~第1章 ADO/MTS/COM十和分布式多层架构 1-1 认识ADO 1-2 使用原生ADO对象 1-3 ADO和分布式多层架构 1-4 Delphi的数据存取技术 1-5 原生ADO对象和ADOExpress组件 1-6 结论第2章 撰写使用ADO技术的应用系统(一) 2-1 ADOExpress组件 2-2 数据库应用程序 2-3 Master/Detall应用程序 2-4 事务管理 2-5 BatchUpdate模式 2-6 搜寻数据 2-7 过滤数据 2-8 排序数据 2-9 结论第3章 撰写使用ADO技术的应用系统(二) 3-l 处理多个数据表Join的数据 3-2 使用ADO处理BLOB信息 3-3 调用存储过程 3-4 使用ADO的异步执行能力 3-5 处理错误 3-6 使用ADO存取Excel 3-7 使用ADOx 3-8 RDS 3-9 使用ADO开发分布式多层应用系统 3-10 ADO和WebBroker应用程序 3-11 结论 第4章 深入了解ADO 4-l AD0的Cursor Engine 4-2 ADO修改数据的流程 4-3 ADOExpress和AD0 4-4 ADO和BDE/IDA贝 4-5 ADO执行效率 4-6 优化ADO执行效率 4-7 结论 第5章 MTS/COM+和分布式多层应用系统 5-1 什么是MTS 5-2 COM+COM的基本概念 5-3 MTS的系统架构 5-4 COM+的系统架构 5-5 状态对象和无状态对象 5-6 结论 第6章 MTS/COM+的核心技术事务管理 6-1 数据库事务管理 6-2 MTS/COM+事务对象 6-3 资源管理 6-4 MTS/COM+的事务生命周期 6-5 以程序代码自行控制事务管理 6-6 结论 第7章 MTS/COM+的安全机制 7-1 安全机制 7-2 MTS/COM+的角色 7-3 实现宣告式安全机制 7-4 资源鉴定控制 7-5 安全机制检查的时机 7-6 实际的范例 7-7 结论 第8章 设计MTS/COM+对象和MTS/COM+应用系统 8-1 开发MTS/COM+组件 8-2 开发存取数据的MTS/CoM+组件 8-3 较为复杂和实际的MTS/COM+应用系统 8-4 MT3/COM+的共享信息机制 8-5 管理和分发MTS/COM+应用系统 8-6 如何调试MTS/COM+应用系统 8-7 结论第9章 以DeIphi技术开发MTS/COM+应用系统 9-l 一个典型的场景 9-2 使用TDCoMConnection建立MTS/COM+对象 9-3 维护事务管理的正确性 9-4 MTS/COM+应用系统架构的实现 9-5 第二种思考方式 9-6 结论第10章 撰写高效率的MTS/COM+组件和MTS/COM+应用系统 10-1 你应该牢记的事情 10-2 快速建立和调用远程MTS/COM+对象 10-3 MTS/COM+对象和数据的传送 10-4 状态信息 10-5 结论

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧