数据库 存储过程 从数据类型 nvarchar 转换为 smallint 时出错。
消息 8114,级别 16,状态 5,过程 add_patientinfo,第 0 行
从数据类型 nvarchar 转换为 smallint 时出错。
(1 行受影响)
存储过程如下:
USE [MyHostpitalno]
GO
DECLARE@return_value int
EXEC@return_value = [dbo].[add_patientinfo]
@mediccareid = N'12',
@inhospital = N'21',
@sickbedid = N'12',
@endscpid = 21,
@endscpcode = 2,
@instrumentid = N'12',
@patientname = N'dsfa',
@sex = N'1',
@birthday = N'1990-11-12',
@age = 21,
@phone = N'123',
@address = N'dsagfsdgasg',
@worksite = N'dsafsd',
@askhospt = 12,
@askdept = 12,
@askdr = 12,
@asktime = N'1990-11-12',
@checkdr = N'dsfa'
SELECT'Return Value' = @return_value
GO
存储过程用到的表:
PATIENTIDint Unchecked
MEDICCAREIDvarchar(20)Checked
INHOSPITALvarchar(20)Checked
SICKBEDIDvarchar(10)Checked
ENDSCPIDint Unchecked
ENDSCPCODEsmallintUnchecked
INSTRUMENTIDtinyint Unchecked
PATIENTNAMEvarchar(10)Unchecked
SEX char(1) Unchecked
BIRTHDAYdatetimeChecked
AGE smallintUnchecked
PHONE varchar(30)Unchecked
ADDRESS varchar(40)Checked
WORKSITEvarchar(40)Checked
ASKHOSPTsmallintChecked
ASKDEPT smallintChecked
ASKDR smallintChecked
ASKTIME datetimeChecked
CHECKDR smallintChecked
CHECKDEPTsmallintChecked
CHECKTIMEdatetimeChecked
[解决办法]
太多了。
你自己把每个字段的类型看一下,然后看看被赋的值能不能转换成对应的类型。比如说含有特殊字符的字符串就不能转换成数字类型
[解决办法]
给你办法
一边删除一边测试
或者
用
return
[解决办法]
错误很明显了。
数据类型 nvarchar 转换为 smallint 时出错。
写入的地方,数据类型没匹配好。 LZ检查一下即可。
[解决办法]