【发布时间】:2013-08-06 06:52:54
【问题描述】:
我在下面得到了这段代码,它关心是否maskedtextbox is empty。如果它是空的,它INSERT INTO SQL 表__.__.____ - 只有掩码所以我相信它INSERTS NULL 但是当我填写maskedtextbox 时出现问题。它仍然是 INSERT __.__.____ - NULL 我不知道我在哪里出错,因为它通常应该插入位于 maskedtextbox 中的 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);
}
【问题讨论】:
-
您必须提供
DateTime.TryParseExact中的格式,而不是__...您的掩码格式是什么? -
@SriramSakthivel 感谢您的评论,我的掩码是 00/00/0000 - / 替换为 .
-
您的
maskedTextBox2.Text值如何?显示样本 -
12.12.2012 这是示例
-
MM.dd.yyyy 还是 dd.MM.yyyy ?
标签: c# sql sql-server winforms maskedtextbox