Delphi:无法对打开的数据集执行此操作

use*_*528 0 mysql delphi firemonkey firedac

当我尝试将FireDAC FDQuery与MySQL数据库一起使用时,出现以下错误:

Cannot perform this operation on an open dataset.
Run Code Online (Sandbox Code Playgroud)
query.Open(....my connection string to MySQL....); 
try
    query.ExecSql;
finally
    query.Close;
Run Code Online (Sandbox Code Playgroud)

我通过双击表单上的图标来填充FDQuery。我还连接到数据库进行测试。它正确地返回了结果。我想从代码中使用它,但是它不起作用,因此我对其进行了调试。我总是到断点:query.Close;

Ken*_*ite 5

您不能使用Open和调用ExecSQL同一SQL,因为它们执行不同的操作。

使用Open时,查询将返回一个结果集,这意味着一个SELECT。使用ExecSQL时,查询并不会返回结果集,这意味着一个INSERTDELETEUPDATE

我无法告诉您哪种情况适合您的情况,因为您没有在帖子中包含SQL。