Delphi 找不到FireDac字段
Delphi XE5和SQL Server 2012。我有一个问题:当我的表单被打开时,我连接到数据库并给我的字段赋值,就像这样-Delphi 找不到FireDac字段,delphi,Delphi,Delphi XE5和SQL Server 2012。我有一个问题:当我的表单被打开时,我连接到数据库并给我的字段赋值,就像这样- dbeCustomer.DataSource := DataForm.SQLDS; dbeCustomer.DataField := 'Customer'; 在我尝试运行独立的.exe程序之前,一切都很好。然后我得到一个错误-“字段”客户“未找到”。也就是说,如果我从Debug文件夹运行编译后的程序,一切正常。当我在调试文件夹外运行这个程序时,我得到一个错误。 如
dbeCustomer.DataSource := DataForm.SQLDS;
dbeCustomer.DataField := 'Customer';
在我尝试运行独立的.exe程序之前,一切都很好。然后我得到一个错误-“字段”客户“未找到”。也就是说,如果我从Debug文件夹运行编译后的程序,一切正常。当我在调试文件夹外运行这个程序时,我得到一个错误。
如果我以这种方式修改代码,那么在任何地方都可以正常工作:
dbeCOwner.DataSource := DataForm.SQLDS;
try
dbeCOwner.DataField := 'COwner';
except
dbeCOwner.DataField := 'COwner';
end;
你知道怎么会这样吗?谢谢。我试着猜一下:
1.您已关闭IDE中的“异常停止”
2.您的应用程序缺少DLL或仅在调试目录中的数据库文件
我猜是这样的,因为您在示例代码中吃了异常,所以不会看到任何异常。仅凭您提供的信息,无法猜测 是什么导致了你的问题。因为你的应用程序的行为 显然,这取决于它运行时所处的位置 要做的事情是从IDE运行它,但在不同的目录中 而不是你的调试
Debug
,右键单击它并从弹出窗口中选择Edit
输出目录设置为项目目录
Embarcadero调试器|语言异常
并选中通知语言异常
Debug
文件夹是否仍然为空您的.Exe的位置不应对此产生任何影响。最有可能的原因是代码中的某些内容没有包含在q中。请在您的q中添加包含您所引用代码的过程/函数的完整代码。如果该单元不超过几十行,那么最好包含整个单元。此外,当异常发生时,请使用View | Debug Windows |调用堆栈查看异常发生的位置。“您的.Exe的位置不应对此产生任何影响”是的,我就是这么想的。但是,根据.exe文件是在调试文件夹中还是在其他任何地方,它的行为会有所不同,这很奇怪……好吧,将.exe从调试文件夹移动到其他地方,然后在调试器下的IDE中运行它。这应该会揭示你为什么会出现异常。我不知道怎么做。你仍然没有在q中添加更多的代码,这可能会帮助读者发现问题。我想,你的猜测都不正确……以下是我的工作`1)连接SQL Server 2)编写一些SQL查询(sqlStmt:=“按nNo从MTable ORDER中选择TOP 50*”;)3)为我的TDBTexts赋值4)运行SQL查询“在这种情况下,如果我在调试文件夹外运行.exe文件,我会得到一个错误“字段”或“未找到”字段。但如果把第四行改成第三行,一切都会好起来。你绝对是对的。如果我没看错你的问题,我以前就知道了。非常抱歉。