我在下面得到这段代码,它关心 maskedtextbox 是否为空
。如果它是空的 INSERT INTO
SQL 表 __.__.____
- 只有掩码所以我相信它 INSERTS NULL
但是当我填写了 maskedtextbox
。它仍然是 INSERT
__.__.____
- NULL 我不知道我在哪里犯了错误,因为它通常应该插入 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);
}
最佳答案
这对我来说很好:
var value2 = (Object)DBNull.Value;
DateTime parsedDate2;
if (DateTime.TryParse(maskedTextBox1 .Text, out parsedDate2))
{
value2 = (Object)parsedDate2;
}
prikaz.Parameters.AddWithValue("@odjdate", value2);
关于c# - MaskedTextBox 如果为空,则将 NULL 插入 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18060307/