列不允许有空值。INSERT 失败的问题
建立了一个存储过程:ALTER PROCEDURE [dbo].employeeInsert
@em_id int OUTPUT,
@name varchar(50),
@u_id int,
@dep_id int,
@gend int,
@birth datetime,
@mar int,
@native varchar(50),
@na_id int,
@hukou varchar(50),
@v_id int,
@idcard varchar(50),
@health varchar(50),
@phone varchar(50),
@mob varchar(50),
@mail varchar(50),
@school varchar(50),
@spec varchar(50),
@learn varchar(50),
@degree varchar(50),
@language varchar(50),
@lanlevel varchar(50),
@com varchar(50),
@comgood varchar(50),
@address varchar(50),
@em_add varchar(50),
@workdate datetime,
@regtime datetime,
@regper varchar(50),
@photo varchar(50)
AS
SET NOCOUNT ON
insert into employee
(
[em_id],
[name],
[u_id],
[dep_id],
[gend],
[birth],
[mar],
[native],
[na_id],
[hukou],
[v_id],
[idcard],
[health],
[phone],
[mob],
[mail],
[school],
[spec],
[learn],
[degree],
[language],
[lanlevel],
[com],
[comgood],
[address],
[em_add],
[workdate],
[regtime],
[regper],
[photo]
)
values
(
@em_id,
@name,
@u_id,
@dep_id,
@gend,
@birth,
@mar,
@native,
@na_id,
@hukou,
@v_id,
@idcard,
@health,
@phone,
@mob,
@mail,
@school,
@spec,
@learn,
@degree,
@language,
@lanlevel,
@com,
@comgood,
@address,
@em_add,
@workdate,
@regtime,
@regper,
@photo
)set @em_id=scope_identity()
return @@error
表enployee的主键是em_id ,标识设置为否
用 retval = cmd.ExecuteNonQuery();操作数据库
检查了下cmd属性,connection, (commandType, commandText都正常,commandParameters中各个item都有值
但是执行的时候,报错:不能将值 NULL 插入列 'em_id',表 'OA_DB.dbo.employee';列不允许有空值。INSERT 失败。
语句已终止。
cmd.parameters里面@em_id是有值的,
请问怎么回事啊。