2010-09-06 26 views
1

有沒有辦法將查詢中的查詢包發送到MySQL使用C#? 我的意思是我有13個選擇,他們不相關,所以不能聯合他們,他們得到不同類型的數據。現在我得到了dbconn,13x select,dbclose,它在通過局域網工作時沒有問題,但是通過互聯網,它有時需要延遲等待時間(13x select和recive data)。我喜歡使它與1查詢如下:包的查詢 - MySQL

select xxx from xxx; 從zzz中選擇zzz; 從yyy中選擇yyy;

,比讀的foreach表

回答

2

您可以發送多條語句,並使用MySqlDataReader獲得多個結果集。你可以做這樣的事情:

var cmd = new MySqlCommand("...lot of SQL selects..."); 
using (var reader = cmd.ExecuteReader()) 
{ 
    // Go to a 'next result' each time. 
    while (reader.NextResult()) 
    { 
     while (reader.Read()) 
     { 
      // Read data from result set. 
     } 
    } 
} 

的技巧是使用MySqlDataReader.NextResult跳到每次設定下一個結果。當然,在你的情況下,你知道你可以期待多少結果集,所以你不應該使用循環,但你明白了。

+0

這就是我所需要的;)謝謝 – Cfaniak 2010-09-06 08:31:30