|
|
1
1
搜索 CodeGear/Embarcadero newsgroups 另一个建议是在禁用/启用控件中包装数据集的打开。如果数据集绑定到UI控件,则控件 应该 不尝试应用任何可能导致异常的操作(应用筛选器)。
|
|
|
2
0
您需要确定错误是来自应用程序还是基础数据库。编写一个小的可执行文件,它只执行字面的SQL命令(将参数值硬编码到SQL中),并查看它是否会在给您带来问题的工作站上运行。 我发现当我向MS-Access发送列名错误的命令时,ADO返回一条关于参数没有默认值的消息。在这种情况下,错误消息不是特别有用。为了调试这种错误,我记录发送到数据库的实际SQL,然后将其剪切并粘贴到Access或其他一些控制台类型的例程中,以查看SQL本身是否有错误。 |
|
|
3
0
在Delphi2009下,我对ADO+MySQL也有类似的问题。根据表规则,TDateTime字段是必需的(非空)。MySQL接受虚拟日期“0000-00-00 00:00:00”作为非空值,ADO不识别此日期/时间值。返回的错误与您的类似(IIRC是指超出范围的值)。 这与你所经历的不一样,但它可能有助于你追踪你所遇到的问题。 祝你好运! |
|
|
4
0
在Delphi XE中使用带有ODBC驱动程序的MySql时,我也遇到了同样的问题。从数据集的内部刷新中弹出错误。我已经创建了一个解决方案,当我们创建一个新的连接对象并应用到查询对象时,错误不会出现。尝试创建新的连接对象并检查。我对这种行为没有多大的了解,但它为我解决了问题。 作为参考,我的问题是
当我将这个语句分配给查询对象(TADOQuery)时,我会得到同样的错误,但是有了新的连接,它就工作了。
|