以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于一个日期表达式的错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27748) |
-- 作者:夕然 -- 发布时间:2013/1/9 10:55:00 -- [求助]关于一个日期表达式的错误 我在查询表的条件设置如下 [过期日期] <= #" & Date.Today & "# 提示 .NET Framework 版本:2.0.50727.3053 Foxtable 版本:2012.11.29.1 错误所在事件: 详细错误信息: System.Data.OleDb.OleDbException: 日期的语法错误 在查询表达式 \'[过期日期] <= #" & Date.Today & "#\' 中。 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at Foxtable.O0l11O0ll0lOO1000Ol0.O00O1lOO() 但是,我的那个过期日期确实是日期型的 不过 ,他的值是这样获得的 e.DataRow("过期日期") = e.DataRow("登记时间").AddDays(365) |
-- 作者:lin_hailun -- 发布时间:2013/1/9 10:57:00 -- "过期日期 <= #" & Date.Today & "#" [此贴子已经被作者于2013-1-9 10:57:20编辑过]
|
-- 作者:夕然 -- 发布时间:2013/1/9 11:03:00 -- 你的代码也不行啊 .NET Framework 版本:2.0.50727.3053 Foxtable 版本:2012.11.29.1 错误所在事件: 详细错误信息: System.Data.OleDb.OleDbException: 日期的语法错误 在查询表达式 \'过期日期 <= #" & Date.Today & "#\' 中。 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at Foxtable.O0l11O0ll0lOO1000Ol0.O00O1lOO() 并且我认为 把列名用 [] 括起来是对的 比如 [_Identify] Is Null 麻烦您再帮助看看 |
-- 作者:lin_hailun -- 发布时间:2013/1/9 12:02:00 -- 你的是不是sqlserver数据源?试试单引号吧。不行就具体一下你的问题。 "过期日期 <= \'" & Date.Today & "\'" |
-- 作者:夕然 -- 发布时间:2013/1/9 12:11:00 -- 我的是内部表 |
-- 作者:夕然 -- 发布时间:2013/1/9 12:13:00 -- 我复制出来了 Select {会员表}.* From {会员表} Where [过期日期] <= #" & Date.Today & "# 这个提示语法错误,为什么呢 .NET Framework 版本:2.0.50727.3053 Foxtable 版本:2012.11.29.1 错误所在事件: 详细错误信息: System.Data.OleDb.OleDbException: 日期的语法错误 在查询表达式 \'[过期日期] <= #" & Date.Today & "#\' 中。 [此贴子已经被作者于2013-1-9 12:13:52编辑过]
|
-- 作者:lin_hailun -- 发布时间:2013/1/9 13:01:00 -- 不可能这样的,远程帮你看一下,联系客服QQ |
-- 作者:夕然 -- 发布时间:2013/1/9 13:37:00 -- 这点一定要标记 谢谢林老师 查询表的条件表达式 不能使用 变量
|