sqldatasource.UpdateParameters.Add() を使用して、データベース テーブルに日付/時刻を追加しようとしています。列のデータ型は smalldatetime で、グリッドビューに問題なく表示されています。この日付/時刻の編集を終了しようとすると、変更を保存して他のフィールドが更新されますが、日付/時刻は同じままです。DateTime.Parse メソッドを使用してみましたが、成功しませんでした。
sqlds1.UpdateParameters.Add("MeasurementDateTime", Data.DbType.DateTime, currentMsrmntDateTime.Text)
それぞれの値とパラメーターのペアに対して上記のコードを使用しますが、日付/時刻フィールドは更新されません。update ステートメントは、日付/時刻以外のすべてのパラメーターに対して再び機能します。
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
保存ボタンを押してもエラーは発生せず、他のすべてのフィールドが更新されますが、日付/時刻は変わりません。値がストアド プロシージャに渡されるときに値を確認しましたが、期待どおりです。