"2016-10-07 21:00:29:987"のようなミリ秒数のSQL Serverデータベースから日付を使用しています。隠されたフィールドで保持されます。SQLを使用しているときに文字列が有効なDateTimeとして認識されない
これはデータが記録される方法であり、これはデータベース内の更新の句の1つです。
これが正常に動作しますオフ私はミリ秒を削除した場合
var d = DateTime.ParseExact(hfDateLocked.Value.ToString(), "yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture);
を使用しているとき、私は試してみて、私はエラー「文字列が有効なDateTimeとして認識されませんされた」GETパラメータとしてデータベースにこれを渡しますが、これはミリ秒単位でデータベースに格納されており、これは3つの節のうちの1つです。
感謝の気持ちで助けてください。
編集1
SqlParameter lockTimParam = new SqlParameter("@LockTime", SqlDbType.DateTime);
if (string.IsNullOrEmpty(hfLockTime.Value.ToString()))
{
lockTimParam.Value = DBNull.Value;
}
else
{
lockTimParam.Value = DateTime.ParseExact(hfLockTime.Value.ToString(), "yyyy-MM-dd hh:mm:ss:fff", CultureInfo.InvariantCulture);
}
あなたはHH:mm:ss.FFFを試しましたか? – Mate
日付をデータベースに文字列として保存していますか?そんなことしたらダメ! – mason
あなたは 'DateTime'オブジェクト' hfDateLocked'を持っていて、 'DateTime.Parse'を使っていますか?これは意味をなさない。 DateTimeオブジェクトを特定の文字列形式にフォーマットする場合は、 '.ToString'を呼び出して目的の形式を渡すだけです。以下の答えを確認してください。 – user3185569