【发布时间】:2014-01-27 18:32:07
【问题描述】:
我的代码:
DateTime date = DateTime.Now;
OleDbConnection con = new OleDbConnection();
con.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source=D:/c# database/Database3.mdb";
con.Open();
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter();
da = new OleDbDataAdapter("Select * From TEST WHERE MatchDate >= '"+ date.ToString() +"'", con);
da.Fill(ds);
Repeater1.DataSource = ds;
Repeater1.DataBind();
con.Close();
你能告诉我,为什么这段代码不起作用?程序抛出异常。我正在使用 MS Access 数据库。数据库中的日期格式如下所示:“2014-06-27 18:45:00”
【问题讨论】:
-
而例外是?
-
是的,很抱歉。我正在使用波兰语版本的“Visual web developer”,用英文表示,异常应该类似于“标准表达式中的数据类型不匹配”。我希望如此,你会知道那是什么意思..
-
顺便说一句(因为使用参数化查询是要走的路),您不要在 Access 中用引号分隔日期,它是
#。这解释了不匹配(日期与字符串)这只有在您需要在字符串中硬编码日期时才会起作用,例如where somedate < #2008-07-31#