2010-09-06 73 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