sql server 2008 列名或所提供值的数目与表定义不匹配

时间:2022-01-09 00:56:02
insert into #temp (Transformer_Name,Transformer_Id,hh,mm,RatedLoad_Value2)
exec [P_GetMRunTimeMonitor] '160001022','1','4'


临时表#temp结构
create table #temp
(
  Transformer_Name varchar(50),
  Transformer_Id bigint,
  hh varchar(20),
  mm varchar(20),
  RatedLoad_Value2 decimal(10, 4)
)


exec [P_GetMRunTimeMonitor] '160001022','1','4'
结果
sql server 2008 列名或所提供值的数目与表定义不匹配


为什么在后台会出现这个错误
sql server 2008 列名或所提供值的数目与表定义不匹配

sql server 2008里面运行这个就可以
insert into #temp (Transformer_Name,Transformer_Id,hh,mm,RatedLoad_Value2)
exec [P_GetMRunTimeMonitor] '160001022','1','4'


现在问题是数据库里能运行,后台代码会报错 

求各位帮帮忙看下





7 个解决方案

#1


C#代码贴全点,还有存储过程怎么定义的?

#2


引用 1 楼 u013091871 的回复:
C#代码贴全点,还有存储过程怎么定义的?


存储过程不重要吧,c#代码就是执行数据库插入临时表的那段代码,c#代码确定没什么问题
就是插入临时表的时候在后台代码出错,我列数都一样为什么会错

#3


cmd.Connection 是一个刚新建的连接,这个会话完全不存在#temp啊,你往那里插?
明明是条INSERT语句,cmd.CommandType怎么可以设为StoredProcedure的?
要插记录不会在P_GetMRunTimeMonitor中执行啊?

#4


你C#中执行的SQL批处理还是存储过程呢

#5


引用 4 楼 ky_min 的回复:
你C#中执行的SQL批处理还是存储过程呢


存储过程

#6


引用 3 楼 Tiger_Zhao 的回复:
cmd.Connection 是一个刚新建的连接,这个会话完全不存在#temp啊,你往那里插?
明明是条INSERT语句,cmd.CommandType怎么可以设为StoredProcedure的?
要插记录不会在P_GetMRunTimeMonitor中执行啊?


C#代码执行的是一个存储过程A     而insert插入代码就是存储过程中的一段

#7


那么你要用查询分析器中执行A来证明存储过程是没问题的啊!
重要的代码不给出怎么知道不是参数传错了?

#1


C#代码贴全点,还有存储过程怎么定义的?

#2


引用 1 楼 u013091871 的回复:
C#代码贴全点,还有存储过程怎么定义的?


存储过程不重要吧,c#代码就是执行数据库插入临时表的那段代码,c#代码确定没什么问题
就是插入临时表的时候在后台代码出错,我列数都一样为什么会错

#3


cmd.Connection 是一个刚新建的连接,这个会话完全不存在#temp啊,你往那里插?
明明是条INSERT语句,cmd.CommandType怎么可以设为StoredProcedure的?
要插记录不会在P_GetMRunTimeMonitor中执行啊?

#4


你C#中执行的SQL批处理还是存储过程呢

#5


引用 4 楼 ky_min 的回复:
你C#中执行的SQL批处理还是存储过程呢


存储过程

#6


引用 3 楼 Tiger_Zhao 的回复:
cmd.Connection 是一个刚新建的连接,这个会话完全不存在#temp啊,你往那里插?
明明是条INSERT语句,cmd.CommandType怎么可以设为StoredProcedure的?
要插记录不会在P_GetMRunTimeMonitor中执行啊?


C#代码执行的是一个存储过程A     而insert插入代码就是存储过程中的一段

#7


那么你要用查询分析器中执行A来证明存储过程是没问题的啊!
重要的代码不给出怎么知道不是参数传错了?