2012-12-06 44 views
2

我有这样的SQL语句:如何处理多结果集查询与dbExpress的

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

而且我想在一个请求到MySQL执行此语句。

简单的SQL请求excecuted这样:

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的过程MULTY结果集如何?

+2

'UPDATE tbworker SET iState = 3 - iState WHERE iState IN(0,1)' –

+0

@Rob:非常漂亮! –

+0

但问题是“如何处理多个结果集查询”。不是“如何在一个重写两个声明”:) – omickron

回答