2012-12-06 74 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

回答