C# 两个日期之间的条件不匹配
它总是在条件表达式中显示条件不匹配。这是我的密码C# 两个日期之间的条件不匹配,c#,sql,ms-access,C#,Sql,Ms Access,它总是在条件表达式中显示条件不匹配。这是我的密码 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") +
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();
请尝试以下操作,这样可以避免数据类型不匹配。如果列不仅仅是数据,请将参数设置为datatime:
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();
很可能与日期的格式有关。你现在把它变成一根绳子。您可以更好地为此使用参数。