繁体   English   中英

如何使用C#将空日期添加到Access数据库中

[英]how to add null date into access database using c#

我想在访问数据库中插入空日期,如果用户选择付款方式为现金,那么如果用户不提供帐单,cheque_date值应自动输入为null,然后在数据库iam中尝试将bill_date输入为null,但条件是数据类型不匹配对于使用蒙版文本框的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); 

在这里,我更改了我的代码,但仍然出现相同的错误,向我显示数据类型不匹配表达式仍然无法解决

我设置格式:访问数据库中cheque_date字段的shortdate,在这里执行以下代码,该代码成功执行了有值或无值的字段(谢谢@phils和@corak)

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM