“是否曾经得到过可怕的”参数对象定义不正确。提供的信息不一致或不完整“JET错误?下面是如何纠正这种情况。
当您需要对创建SQL查询时使用日期(或日期时间)值的Access数据库需要确保使用正确的格式。
例如,在SQL查询中:“SELECT*FROM TBL WHERE DATEFILD='10/12/2008'”您希望从名为TBL的表中获取所有记录,其中常规日期字段DATEFILD等于10/12/2008。
上面的线清楚吗?那是12月10日还是10月12日?幸运的是,我们非常确定查询中的年份是2008年。
查询的日期部分是否应指定为MM/DD/YYYY或DD/MM/YYYY或YYYYMMDD?区域设置在这里起作用吗?
使用Access和JET(dbGo-ADO Delphi控件)时,日期字段的SQL格式应*始终*为:
其他任何东西都可能在有限的测试中起作用,但通常会在用户的机器上导致意外的结果或错误。
这里有一个定制的Delphi函数,可以用来为Access SQL查询设置日期值的格式。
对于“1973年1月29日”,函数将返回字符串“#1973-01-29#”。
至于日期和时间格式,一般格式为:
这是:#年-月-日-时:分:秒#
一旦您使用上述通用格式为SQL构造了一个有效的日期时间字符串,并使用Delphi的任何数据集组件(如TADOQuery)进行尝试,您将在运行时收到可怕的“参数对象定义不正确。提供的信息不一致或不完整”错误!
上述格式的问题出现在“:”字符中,因为它用于参数化Delphi查询中的参数。如“…WHERE DateField=:dateValue”-这里的“dateValue”是一个参数,而“:”用于标记它。
“修复”错误的一种方法是对日期/时间使用另一种格式(替换为“.”):
这里有一个自定义的Delphi函数,用于从日期时间值返回字符串,您可以在为Access构建SQL查询时使用该函数,您需要在其中搜索日期时间值:
该格式看起来很奇怪,但会导致在SQL查询中使用格式正确的日期时间字符串值!
下面是使用FormatDateTime例程的较短版本:
...不同操作系统的计算机上。 事实上,SQLite的数据库文件格式非常受欢迎,它是国会图书馆为长期数据存储推荐的少数几种格式之一。 然而,由于SQLite是开发人员的库,因此它没有前端,这意味着它没有图形用户界面。是使用库...
... BGInfo支持以多种数据库格式存储信息:sqlserver数据库、Access数据库、Excel和文本文件。要配置此选项,请打开“文件”>“数据库”。 使用文本文件 最简单,也许也是最实用的选择是将BGInfo数据存储在逗号分隔的文本文件中...
在Access中对表执行复杂的操作和应用条件并不像在Excel中那么容易。一些用户仍将其与Excel混淆,后者等同于贬低访问能力。 编者按:本篇嘉宾文章由Office 2010 Club撰写,该论坛由Office 2010专家管理,任何人都可以提问并参与讨论...
...看那是什么样子…正如你所看到的,“现金”不见了。 格式化 这显然是一个非常强大的系统,但到目前为止,结果看起来非常简单和无聊。首先,我们正在求和的数字看起来不像是美元金额——只是普通的旧数字。让我们纠正...
...该用于利用Convert的样式功能。 尽管如此,除了日期时间格式化功能之外,Cast和Convert没有太大区别,大多数用户只是喜欢在每个转换任务中使用Cast,并使用Convert备份过程,这对于特定于日期时间的例程来说是非常有效的。 总...
...将一种数据类型转换为另一种数据类型。此函数通常用于格式化日期/时间数据类型和货币数据类型。此外,这里的CONVERT函数可以在CAST函数无法执行此类操作时激发set date format选项。CONVERT函数是高度灵活的函数,也是用于日期/...
...CAST函数提供更快更简单的性能,反之亦然。当试图转换日期和时间值、小数和货币符号时,CONVERT函数更好。但是,CAST函数是ANSI标准的,与CONVERT函数相比更具可移植性,可以用于其他数据库应用程序,而无需用户进行太多更改...
...卡洛格 delphi提示导航器 日期时间SQL查询:在Delphi中格式化Access SQL的日期时间值 使用键盘快捷键强制TListView的编辑模式
...形式,允许您选择、插入、更新、查找数据位置等。 delphi中的tquery 如果要在应用程序中使用SQL,您将非常熟悉TQuery组件。Delphi使您的应用程序能够通过TQuery组件直接使用SQL语法来访问Paradox和dBase表(使用本地SQL—ANSI标准SQL...