将 nvarchar 值 'A22' 转换为数据类型为 int 的列时发生语法错误。  ?字符串'22'可以转换为INT型.
字符串'A22'不可以转换为INT型.

解决方案 »

  1.   

    对应字段输入值,顺序不要错了.如果是INT型字段不可能保存'A22'这样的值.更该你字段的类型.
      

  2.   

    晕,都告诉你哪里错了,换回来不就行,我彻底晕倒!ALTER PROCEDURE Addcheng 

    @课程名称 nvarchar(30), 
    @开课学院 nvarchar(40), 
    @任课教师 nvarchar(8), 
    @提供专业 nvarchar(500), 
    @提供年级 nvarchar(50), 
    @上课时间 nvarchar(16), 
    @学时 nvarchar(4), 
    @上课地点 nvarchar(30), 
    @学科学分 nvarchar(8), 
    @审核状态 nvarchar(2), 
    @最多可选修人数 nvarchar(4), 
    @课程简介 nvarchar(400), 
    @教师编号 nvarchar(12), 
    @UserID int OUTPUT 
    ) AS 
    INSERT INTO 课程 

    课程名称,  
    开课学院, 
    任课教师,  
    提供专业,  
    提供年级, 
    上课时间,  
    学时,  
    学科学分,  
    审核状态, 
    最多可选修人数,  
    上课地点, 
    课程简介, 
    教师编号 

    VALUES 

    @课程名称,  
    @开课学院, 
    @任课教师,  
    @提供专业,  
    @提供年级, 
    @上课时间,  
    @学时,  
    @学科学分,  
    @审核状态, 
    @最多可选修人数,  
    @上课地点, 
    @课程简介, 
    @教师编号 

    SELECT 
    @UserID=@@Identity