DataReader不会产生带WHERE子句的行

时间:2014-07-09 15:26:31

标签: c# sql ms-access-2010

我有一个访问2010数据库,当我省略' WHERE'时,DataReader会返回行。但是我在Access中运行了查询,它确实返回了包含WHERE子句的必要行。是否有理由在访问中运行而不是c#?

    con.Open();
    //DataTable dt = new DataTable();
    //dt.Columns.Add("PrimaryDate", typeof(string));
    //dt.Columns.Add("Candidate/Contact", typeof(string));
    //dt.Columns.Add("Phone", typeof(string));
    //dt.Columns.Add("Subject", typeof(string));
    //dt.Columns.Add("Comment", typeof(string));
    //dt.Columns.Add("User", typeof(string));
    OleDbCommand getCalenderCommand = con.CreateCommand();
    getCalenderCommand.CommandText = "SELECT April2014.PrimaryDate FROM April2014   ;";//WHERE April2014.PrimaryDate LIKE '*"+01042014+"'
    OleDbDataReader dr = getCalenderCommand.ExecuteReader();
    if (dr.HasRows)
       {
         while(dr.Read())
          {
            //dt.Rows.Add(new object[] { dr.GetString(0), dr.GetString(1), dr.GetString(2),       dr.GetString(3), dr.GetString(4), dr.GetString(5) });
           }
       dr.NextResult();
       }
     dr.Close();
    con.Close();

1 个答案:

答案 0 :(得分:0)

使用ymd格式来比较日期,如

getCalenderCommand.CommandText = "SELECT April2014.PrimaryDate FROM April2014 WHERE April2014.PrimaryDate LIKE '*"+20140401+"'

此比较是2014年4月1日