我正在尝试使用 sqldatasource.UpdateParameters.Add() 将日期/时间添加到我的数据库表中。列数据类型是 smalldatetime,它在 gridview 中显示得很好。如果我尝试结束编辑此日期/时间,然后保存更改其他字段更新,但日期/时间保持不变。我尝试使用 DateTime.Parse 方法但没有成功。
sqlds1.UpdateParameters.Add("MeasurementDateTime", Data.DbType.DateTime, currentMsrmntDateTime.Text)
我对每个相应的值和参数对使用上面的代码,但日期/时间字段不会更新。更新语句再次适用于除日期/时间以外的所有参数。
CREATE PROCEDURE [dbo].[UpdateCathodeTemps]
(
@MeasurementTypeCode int
,@MeasurementDateTime smalldatetime
,@Value nvarchar(50)
,@Comments nvarchar(512)
,@IsMeasurementChecked bit
,@MeasurementCheckedBy nvarchar(50)
,@BakeDetailsID int
-- 7 Params
) AS
BEGIN TRANSACTION
UPDATE tblMeasurementsAtPeriod
SET MeasurementDateTime = @MeasurementDateTime,
Value = @Value,
Comments = @Comments,
MeasurementCheckedBy = @MeasurementCheckedBy,
IsMeasurementChecked = @IsMeasurementChecked,
MeasurementTypeCode = @MeasurementTypeCode,
BakeDetailsID = @BakeDetailsID
WHERE MeasurementDateTime = @MeasurementDateTime AND MeasurementTypeCode = @MeasurementTypeCode
IF @@ERROR <> 0
BEGIN
ROLLBACK
RETURN
END
COMMIT
当我点击保存按钮时没有抛出错误,所有其他字段都更新了,但日期/时间保持不变。我检查了传递给存储过程的值,它们与我预期的一样。