如何使用dbExpress处理多个结果集查询

时间:2012-12-06 18:34:31

标签: mysql delphi delphi-2007 dbexpress

我有这样一个sql语句:

UPDATE tbworker SET iState=2 WHERE iState=1;
UPDATE tbworker SEt iState=3 WHERE iState=0;

我想在一个MySQL请求中执行此语句。

简单的sql请求以这种方式排除:

SQLQuery.SQL.Text := SomeSQLText;
AffectedRows := SQLQuery.ExecSQL(true);

但是现在我需要一个像NextResultSet这样的方法,例如:

SQLQuery.SQL.Text := MultyResultSetSQLText;
ResultSetCounter := 1;
AffectedRows.Add(ResultSetCounter, SQLQuery.ExecSQL(true));
while SQLQuery.HasNextResultSets do
begin
  Inc(ResultSetCounter);
  AffectedRows.Add(ResultSetCounter, SQLQuery.GetNextResultSet);
end;

dbExpress如何处理多个结果集?

1 个答案:

答案 0 :(得分:6)

AFAIK TSQLDataSetTSQLQuery组件无法处理多个数据集的返回,唯一支持this feature的dbexpress组件是TSQLStoredProc对象。