我想在访问数据库中插入空日期,如果用户选择支付选项作为现金,那么如果用户没有提供账单,则cheque_date值应自动输入为null然后bill_date应该在数据库中输入为空,我试图这样做但数据类型标准表达式中的不匹配异常来自bill | _date和cheque_date im使用蒙面文本框和chequeno。并且没有。即时通讯使用文本框(checkno和billno。它可以存储为空的唯一问题是将空日期存储到accessc数据库中)
if (txtchequeno.Text == "")
{
cmd.Parameters.AddWithValue("@Cheque_No", cheque);
}
else
{
cmd.Parameters.AddWithValue("@Cheque_No", txtchequeno.Text);
}
DateTime chequeDate;
var value = (object)DBNull.Value;
if (DateTime.TryParseExact(txtmaskchequedate.Text, "dd/mm/yyyy", null, System.Globalization.DateTimeStyles.None, out chequeDate))
{
value = chequeDate;
}
cmd.Parameters.AddWithValue("@Cheque_Date", value);
if (txtbillno.Text == "")
{
cmd.Parameters.AddWithValue("@Bill_No", billno);
}
else
{
cmd.Parameters.AddWithValue("@Bill_No", txtbillno.Text);
}
DateTime billdate;
var value1 = (object)DBNull.Value;
if (DateTime.TryParseExact(txtmaskbilldate.Text, "dd/mm/yyyy", null, System.Globalization.DateTimeStyles.None, out billdate))
{
value1 = billdate;
}
cmd.Parameters.AddWithValue("@Bill_Date", value1);
这里我改变了我的代码,但是同样的错误显示我的数据类型不匹配表达式还没有得到如何解决
答案 0 :(得分:0)
我设置格式:访问数据库中cheque_date字段的shortdate,这里执行的代码是成功执行的有字段有没有(谢谢@phils和@corak)
1
1 2
2 3 5
5 7 10 15
15 20 27 37 52
52 67 87 114 151 203
203 255 322 409 523 674 877