3

私はこのコードを以下に持っていますmaskedtextbox is empty。それが空の場合はINSERT INTO SQLテーブル__.__.____- マスクのみなので信じていINSERTS NULL ますが、maskedtextbox. それはまだ- NULL 通常は maskedtextbox にあるものをINSERT __.__.____挿入する必要があるため、どこで間違いを犯したのかわかりません。date

このテキストボックスのマスクは次の__.__.____ようになります00/00/0000

このデータを挿入するデータ型は - 日付です。

コードは次のとおりです。

var value2 = (object)DBNull.Value;
DateTime parsedDate2;
if (DateTime.TryParseExact(maskedTextBox2.Text, "__.__.____", null,
                           DateTimeStyles.None, out parsedDate2))
{
    value2 = parsedDate2;
}
prikaz.Parameters.AddWithValue("@odjdate", value2);

編集:以下のコードは次のように述べています:名前「value2」は現在のコンテキストに存在しません」

var value2 = (object)DBNull.Value;
DateTime parsedDate2;
if (DateTime.TryParseExact(maskedTextBox2.Text, "dd.MM.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate2))
{
    value2 = parsedDate2;
}
prikaz.Parameters.AddWithValue("@odjdate", value2);

以下のコードは、この例を実行します。

Converting into data type date wasn't succesfull.

これがコードです

if (maskedTextBox2.Text == "__.__.____")
{
    prikaz.Parameters.AddWithValue("@odjdate", null);
}
else
{
    prikaz.Parameters.AddWithValue("@odjdate",maskedTextBox2.Text);
}
4

2 に答える 2

1

これは私にとってはうまくいきます:

 var value2 = (Object)DBNull.Value;
 DateTime parsedDate2;
 if (DateTime.TryParse(maskedTextBox1 .Text, out parsedDate2))
 {
   value2 = (Object)parsedDate2;
 }
prikaz.Parameters.AddWithValue("@odjdate", value2);     
于 2013-08-08T16:30:22.283 に答える