2

私はそのようなSQLステートメントを持っています:

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

そして、MySQLへの1つのリクエストでこのステートメントを実行したいと思います。

単純な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はどのようにして多数の結果セットを処理できますか?

4

1 に答える 1

6

AFAIKTSQLDataSetおよびコンポーネントは複数のデータセットの戻りを処理できません。この機能TSQLQueryをサポートする唯一のdbexpressコンポーネントは、 TSQLStoredProcオブジェクトです。

于 2012-12-06T20:22:18.030 に答える