Delphi Firedac-最好只打开一个查询来添加记录
当我只想创建一个FDQuery来添加记录时,有没有一种方法可以构建/打开/创建FDQuery,这样我就可以实际执行插入和追加操作,而不必在数据库中加载当前信息 我发现自己正在做一件可怕的事情,我放置了一个不可能的过滤器,这样我就加载了元数据,但实际上我没有从数据库加载任何内容:/Delphi Firedac-最好只打开一个查询来添加记录,delphi,firedac,Delphi,Firedac,当我只想创建一个FDQuery来添加记录时,有没有一种方法可以构建/打开/创建FDQuery,这样我就可以实际执行插入和追加操作,而不必在数据库中加载当前信息 我发现自己正在做一件可怕的事情,我放置了一个不可能的过滤器,这样我就加载了元数据,但实际上我没有从数据库加载任何内容:/ fQuery.SQL.Text := 'SELECT * FROM MyTable WHERE 1=2'; 但是有了所有firedac的可能性,肯定有比这更好的方法 那么,有没有一种方法可以用元数据而不是数据
fQuery.SQL.Text := 'SELECT * FROM MyTable WHERE 1=2';
但是有了所有firedac的可能性,肯定有比这更好的方法
那么,有没有一种方法可以用元数据而不是数据本身打开FDQuery?
(如果您打算建议使用FDTable,请告诉我它是否有更好的性能,以及原因)您使用的是什么DB manager?是什么阻止您将SQL.Text作为INSERT语句?说到这里,是什么阻止您使用SELECT打开表,然后使用FDQuery的Insert方法(或InsertRecord)?MartynA,在这种情况下,只是我将MSSQL或FIrebird DB连接到软件,并且我希望Firedac处理类型(日期、BLOB等)和查询语法。我想我第一次理解了您的意思,但在您的注释丢失后,您是否只想从数据库(在TDataGrid或类似数据库上)获取表的结构,然后向其追加/插入?或者什么?
其中1=2
是一个错误的选择(至少对于评论中提到的Firebird来说),它执行表的完全自然扫描。您使用的是什么数据库管理器?是什么阻止您只使用SQL。文本是INSERT语句?说到这里,是什么阻止您使用SELECT打开表,然后使用FDQuery的Insert方法(或InsertRecord)?MartynA,在这种情况下,只是我将MSSQL或FIrebird DB连接到软件,并且我希望Firedac处理类型(日期、BLOB等)和查询语法。我想我第一次理解了您的意思,但在您的注释丢失后,您是否只想从数据库(在TDataGrid或类似数据库上)获取表的结构,然后向其追加/插入?或者什么?其中1=2
是一个错误的选择(至少对于评论中提到的Firebird而言),它会对一个表执行完全自然的扫描。