该应用程序运行良好,直到我在 OpenOffice.org Calc 中编辑了用户数据库 (*.dbf)。现在它给了我关于封闭数据集的上述错误。
问问题
73630 次
3 回答
1
根据您自己的评论,您无法打开数据库文件,因为它已损坏。因此,您的错误并不意味着您忘记打开它,而是您的应用程序无法打开损坏的 .dbf 文件。
您可能会收到此错误的其他不太明显的原因,比您未能将表 Active 属性设置为 true 的明显原因,包括系统或 BDE 配置错误(ODBC 或 ADO,或其他 BDE 运行时文件丢失或未配置) 打开文件所需的
于 2011-07-21T16:45:25.780 回答
1
错误消息说,您的数据集未打开。似乎你忘了打开它或者你在某个地方关闭了它。
于 2011-07-21T10:31:46.807 回答
0
如果您运行您的应用程序,Delphi 将恢复数据集在 Delphi 表单设计器中的状态 open
。closed
如果出现错误,Delphi 可以退出并关闭数据集。
此外,您可能在设计器中意外关闭了数据集,之后它不再在 ptogram 启动时自动打开。
当需要使用数据集时,您将收到此错误,因为数据集已关闭。
一种选择是在 FormCreate 事件中显式打开数据集并在其中添加错误处理代码,这将允许您查看错误消息并从那里进行调试。
procedure TForm1.FormCreate(sender: TObject);
begin
try
MyDBFTable.Open;
except on exception e do
WriteErrorToLogFile('Cannot open MyDBFTable, error is: ' + e.message);
// or
//ShowMessage('Cannot open MyDBFTable, error is: ' + e.message);
end; {try}
end;
我总是在 FormCreate 中明确地打开数据集,因为这允许我记录任何错误。如果客户端应用程序出现异常,它会自动通过电子邮件发送给我。
于 2011-07-21T11:16:21.300 回答