我在下面有这个代码,它关心maskedtextbox is empty
。如果它是空的INSERT INTO
SQL表__.__.____
- 只有掩码,所以我相信它INSERTS NULL
但是当我填充maskedtextbox
时出现了问题。它仍然是INSERT
__.__.____
- NULL我不知道我在哪里犯错,因为它通常应该插入掩码文本框中的date
。
此文本框的掩码为__.__.____
,如00/00/0000
我插入此数据的数据类型是 - date。
以下是代码:
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);
以下代码执行此Ex:
Converting into data type date wasn't succesfull.
这是代码
if (maskedTextBox2.Text == "__.__.____")
{
prikaz.Parameters.AddWithValue("@odjdate", null);
}
else
{
prikaz.Parameters.AddWithValue("@odjdate",maskedTextBox2.Text);
}
答案 0 :(得分: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”,那么替换格式以使解析工作!
这应该有效
答案 1 :(得分:1)
这对我来说很好用:
var value2 = (Object)DBNull.Value;
DateTime parsedDate2;
if (DateTime.TryParse(maskedTextBox1 .Text, out parsedDate2))
{
value2 = (Object)parsedDate2;
}
prikaz.Parameters.AddWithValue("@odjdate", value2);