关于delphi调用sql存储过程的问题...help me .....(100分)

  • 主题发起人 主题发起人 R9
  • 开始时间 开始时间
R

R9

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADOStoredProc 控件调用sql 里的存储过程,但不能激活,提示“biao需要参数@uid,未提供该参数”

怎么回事啊?? 下面是我在sql里写的存储过程.....

CREATE PROCEDURE biao_gl @uid int,@psw char (10),@id int,@name varchar (10),@sex varchar (10),@age varchar(10),@addr varchar(10),@number varchar(20), @room varchar(10),@money varchar(10),@ps varchar(60),@op varchar (1)
AS
 
你在存储过程里定义了参数,但在外面没给参数赋值,就会这样了,
所定义的每个参数都要赋值,除非你指定了参数的缺省值!
 
我在存储过程里已经定义了啊,上面的写错了

下面是我在sql里写的存储过程.....

CREATE PROCEDURE biao_gl @uid varchar(10),@psw char (10),@id int,@name varchar (10),@sex varchar (10),@age varchar(10),
@addr varchar(10),@number varchar(20), @room varchar(10),@money varchar(10),@ps varchar(60),@op varchar (1)
AS
 
我怎么看不到你在存储过程里已经定义了啊?
我把我的存储过程贴给你,你自己看看了:
CREATE PROCEDURE GetTempLesson --BY WDQ

@ClassNo varchar(12)='%',--班级代码 像这样才是给参数赋缺省值!
@SubjectNo varchar(12)='%',--科目代码
@TeacherNo varchar(12)='%',--教师代码
@StarDate datetime='1900-1-1',
@EndDate datetime='2500-1-1',
@Term varchar(9)='', --学期代码
--@isLike int=0 --是否模糊查询0-否,1-是
@isStarDate int=1 --1-按开始日期查,0-按结束日期查

AS

IF @isStarDate=0
SELECT SubjectNo, TeacherNo, StartDate, EndDate, iSection, ClassNo, Term, Week
FROM TempLesson
WHERE SubjectNo LIKE @SubjectNo
AND TeacherNo LIKE @TeacherNo
AND ClassNo LIKE @ClassNo
AND Term=@Term
AND (EndDate BETWEEN @StarDate AND @EndDate)
ELSE
SELECT SubjectNo, TeacherNo, StartDate, EndDate, iSection, ClassNo, Term, Week
FROM TempLesson
WHERE SubjectNo LIKE @SubjectNo
AND TeacherNo LIKE @TeacherNo
AND ClassNo LIKE @ClassNo
AND Term=@Term
AND (StartDate BETWEEN @StarDate AND @EndDate)

GO
 
MD...我眼睛花了...又写错了,不能激活,提示“biao需要参数@id,未提供该参数”

是@id 不是@uid

呵呵...
 
不是说了吗?
没给你的参数赋默认值, 你又不给参数赋值,所以就出现这种情况,
如果你都做了,那我也不知道是什么原因了!
 
存储过程有问题吗,你现在查询分析器中调试一下,带个参数,通过了再用
控件调用。
 
接受答案了.
 
后退
顶部