我正在 SQL 中创建一个临时表,然后向其中添加一个新字段。 Firedac 似乎正在缓存该临时表的字段列表。
以下代码给出“FDQuery5:未找到字段‘可用’”。
FDQuery5.Connection := FDConnection1;
FDConnection1.ExecSQL('Select StockNo into #Temp from Stock');
FDQuery5.SQL.Text := 'Select * From #Temp';
FDQuery5.open;
FDConnection1.ExecSQL('Alter Table #Temp add Available Char(1)');
FDQuery5.Close;
FDQuery5.open;
ShowMessage(FDQuery5.FieldByName('Available').AsString);
将 XE5 与 Firedac 结合使用。
我尝试过 Connection.RefreshMetadataCache 并从 FetchOptions.Cache 中删除了 fiMeta。
如果我修改 SQL.Text,我可以让 Firedac 识别新字段。这是不可取的,因为我的应用程序需要在很多地方进行修改。
调用 FDQuery5.Close 后,查询仍保持准备状态。这意味着,它还缓存结果集结构。要准备查询,请将 FDQuery5.Close 替换为 FDQuery5.Disconnect。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)