是否可以使用C#将1查询中的查询数据包发送到MySQL?我的意思是我有13个选择,它们没有关系,因此不能结合它们,它们获得了不同类型的数据。现在,我得到了DBConn,13倍选择,DBCLOSE,当它在LAN上工作时,这不是问题,但是在Internet上工作时,有时需要减慢延迟的延迟(13倍选择和recive Data)。 ID喜欢用1个查询来完成:

从XXX选择XXX;从zzz中选择zzz;从yyy中选择yyy;

而不是阅读foreach桌子

有帮助吗?

解决方案

您可以发送多个语句,并使用多个结果集使用 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 每次跳过下一个结果。当然,在您的情况下,您知道您可以期待多少个结果,因此您不应该使用 while 循环,但你明白了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top