一个奇怪的存储过程的问题
存储过程如下:
CREATE PROCEDURE p_StudentAdd
@StudentID varchar(13),
@StudentName varchar(10),
@ClassSN int,
@StudentSex int
AS
IF @StudentID IS NOT NULL and @StudentName IS NOT NULL AND @ClassSN IS NOT NULL AND @StudentSex IS NOT NULL
BEGIN
insert Students(StudentID,StudentName,ClassSN,StudentSex)
values('@StudentID','@StudentName',@ClassSN,@StudentSex)
END
GO
用查询分析器打开,
DECLARE @RC int
DECLARE @StudentID varchar(13)
DECLARE @StudentName varchar(10)
DECLARE @ClassSN int
DECLARE @StudentSex bit
SELECT @StudentID = '200560132101'
SELECT @StudentName = '小行星'
SELECT @ClassSN = 1
SELECT @StudentSex = 1
EXEC @RC = [job].[dbo].[p_StudentAdd] @StudentID, @StudentName, @ClassSN, @StudentSex
DECLARE @PrnLine nvarchar(4000)
PRINT '存储过程: job.dbo.p_StudentAdd'
SELECT @PrnLine = ' 返回代码 = ' + CONVERT(nvarchar, @RC)
PRINT @PrnLine
服务器: 消息 8152,级别 16,状态 9,过程 p_StudentAdd,行 11
将截断字符串或二进制数据。
语句已终止。
存储过程: job.dbo.p_StudentAdd
返回代码 = -6
提示是将截断字符串或二进制数据。。。
但是都没有超过大小呀?请问大虾们怎么解决呀?
问题点数:20、回复次数:3Top
1 楼zhongq99(木脑壳)回复于 2005-06-03 01:49:54 得分 20
insert Students(StudentID,StudentName,ClassSN,StudentSex)
values('@StudentID','@StudentName',@ClassSN,@StudentSex)
上面语句是错的,把变量的单引号去掉!Top
2 楼seabee(星魂~~)回复于 2005-06-03 10:08:13 得分 0
谢谢哦!Top
3 楼seabee(星魂~~)回复于 2005-06-03 10:09:53 得分 0
回复人:zhongq99(木脑壳) () 信誉:100 2005-6-3 1:49:55 得分: 20 删除
insert Students(StudentID,StudentName,ClassSN,StudentSex)
values('@StudentID','@StudentName',@ClassSN,@StudentSex)
上面语句是错的,把变量的单引号去掉!
回复人:seabee(seabee) () 信誉:98 2005-6-3 10:08:13 得分: 0 删除
谢谢哦!
怎么这两天给分总是出错呀?Top




