0

データ型がDateTimeの データベースフィールド「Date」にDateTime値を格納しようとしています。

しかし、私は以下のエラーを取得しています:

文字列は有効な DateTime として認識されませんでした。

私のコードは以下の通りです:

dr["Date"] = System.Convert.ToDateTime(txtDate.Text);

dr["Date"]私のデータベースのデータ型がdatetimeであるデータベース列名「Date」を私に与えます。txtDate textboxのカレンダーエクステンダーを
使用して DateTime 値を取得し、その値をDateTimeデータ型 に変換して、その値をデータベーステーブルに挿入できるようにしています。 しかし、正しいデータ型を指定しているときにエラーが発生するのはなぜですか。

4

3 に答える 3

2

ばかみたいに見えるかもしれませんが、私が間違っていたことを正確に共有したいと思います。しかし、うまくいけば、同じ問題を抱えている他の誰かを助けるでしょう.

以下に示すように、カレンダーエクステンダーに間違った形式を指定していました。

yyyy-mm-dd

正しい形式は次のとおりです。

yyyy-MM-dd

于 2013-07-03T07:05:08.257 に答える
0

フォーマットに基づいDateTime.TryParseExactて抽出するために使用します...DATETIME

            DateTime yourDate;
            var formats = new[] { "yyyy-MM-dd" };
            if (DateTime.TryParseExact(s, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out yourDate))
            {
                dr["Date"] = yourDate;
            }
            else
            {
                // Do with Invalid DateTime
            }
于 2013-07-03T07:00:54.080 に答える
0

このようなものをキャッチし、例外を引き起こさないコード:

if (DateTime.TryParse(txtDate.Text, out dateValue)) 
{
      dr["Date"] = dateValue;
}
else
{
      Debug.Write("TextBox Value '{0}' isn't a valid datetime.", txtDate.Text);
}
于 2013-07-03T07:00:10.097 に答える