我想使用以下命令更新time(0)
列。 (VS 2015中的SQLDataSource
)
UPDATE tb_reported
SET Time = DATEADD(Hour, @Quantity, Time)
WHERE (EmpShort = @EmpShort) AND (Date = @Date) AND (Time > @Time)
当我测试命令(运行查询)时,它会询问我4个参数的值。对于@Quantity
,我使用例如" 2"加2个小时。然后我点击" OK"并获取有关@Quantity
参数格式的错误消息:
"错误消息:参数值无法从Decimal转换为TimeSpan"
当我使用例如" 2"而不是@Quantity
更新运行没有问题。
我该怎么做才能解决这个问题?
答案 0 :(得分:0)
首先尝试声明@Quantity
或者说@Time
DECLARE @Time BIGINT();
@Time = DATEADD(Hour, '2', Time);
新SQL:
UPDATE tb_reported
SET Time = @Time
WHERE (EmpShort = @EmpShort)
AND (Date = @Date)
AND (Time > @Time)