3

我在下面得到了这段代码,它关心是否maskedtextbox is empty. 如果它是空的INSERT INTO SQL 表__.__.____- 只有掩码所以我相信它INSERTS NULL 但是当我填充maskedtextbox. 它仍然INSERT __.__.____- NULL 我不知道我在哪里犯了错误,因为它通常应该date在 maskedtextbox 中插入。

这个文本框的掩码__.__.____就像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.TryParseExact(maskedTextBox2.Text, "dd.MM.yyyy", CultureInfo.InvariantCulture,DateTimeStyles.None, out parsedDate2))
{
    value2 = parsedDate2;
}

注意:如果您的格式是“MM.dd.yyyy”,则替换格式以使解析工作!

这应该工作

于 2013-08-05T14:28:59.000 回答
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 回答