中易网

sql存储过程出错求救

答案:2  悬赏:40  
解决时间 2021-04-27 21:44
  • 提问者网友:前事回音
  • 2021-04-27 09:10

use SIMS
go
create PROCEDURE [dbo].[up_AddStuInfo]
(
@S_no  varchar(14),
@S_name varchar(10),
@S_genter varchar(2),
@S_birthday datetime,
@S_address varchar(50),
@S_party varchar(10),
@S_grade varchar(6),
@S_Inse varchar(2),
@S_class varchar(10),
@S_in datetime,
@S_out datetime
)
as
begin
declare @Sid int
select top 1 @Sid=Id from tbl_StuInfo order by Id desc
set @Sid=@Sid+1
insert into tbl_StuInfo
values(@Sid,@S_no,@S_name,@S_genter,@S_birthday,@S_address,@S_party,@S_grade,@S_Inse,@S_class,@S_in,@S_out)
end
go

 

 

错误消息 213,级别 16,状态 1,过程 up_AddStuInfo,第 20 行
插入错误: 列名或所提供值的数目与表定义不匹配。

补充:似乎去掉一部分代码,还是有问题。请高手指点

最佳答案
  • 二级知识专家网友:单身小柠`猫♡
  • 2021-04-27 10:21


应该是你的values()内的参数与表不对称.


试试改成


insert into tbl_StuInfo


(Sid,S_no,S_name,S_genter,S_birthday,S_address,S_party,S_grade,S_Inse,S_class,S_in,S_out)
values(@Sid,@S_no,@S_name,@S_genter,@S_birthday,@S_address,@S_party,@S_grade,@S_Inse,@S_class,@S_in,@S_out)

全部回答
  • 1楼网友:闲懒诗人
  • 2021-04-27 11:08
名或所提供值的数目与表定义不匹配 这个简单,你把表里到字段都补齐咯,就可以了 要用insert into tablename(所以字段名) values(插入的值,注意插入值到类型与表到类型一致)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息