首页 > 解决方案 > 两个日期之间的条件不匹配

问题描述

它总是在标准表达式中显示标准不匹配。这是我的代码。

OleDbCommand pending = new OleDbCommand("SELECT * FROM businesses WHERE business_active = 0 AND date_of_application BETWEEN '" + FromDateTxt.Value.ToString("MM/dd/yyyy") + "' AND '" + ToDateTxt.Value.ToString("MM/dd/yyyy") + "'", cn.con);
        OleDbDataReader dr_pending = pending.ExecuteReader();

标签: c#sqlms-access

解决方案


尝试以下操作,它可以避免数据类型不匹配。如果您的列不仅是数据,请将参数设为数据时间:

            SqlParameter fromDate = new SqlParameter();
            fromDate.ParameterName = "@FromDate";
            fromDate.SqlDbType = SqlDbType.Date;
            fromDate.Direction = ParameterDirection.Input;
            fromDate.Value = FromDateTxt.Value;

            SqlParameter toDate = new SqlParameter();
            toDate.ParameterName = "@ToDate";
            toDate.SqlDbType = SqlDbType.Date;
            toDate.Direction = ParameterDirection.Input;
            toDate.Value = ToDateTxt.Value;

            OleDbCommand pending = new OleDbCommand("SELECT * FROM businesses WHERE business_active = 0 AND date_of_application BETWEEN @FromDate AND @ToDate", cn.con);
            OleDbDataReader dr_pending = pending.ExecuteReader();

推荐阅读