有没有办法使用 c# 将 1 个查询中的查询包发送到 mysql ?我的意思是我有 13 个选择,它们不相关,所以不能合并它们,它们得到不同类型的数据。现在我得到了 dbconn、13x 选择、dbclose,当它在 lan 上工作时它不是问题,但在互联网上有时需要减慢延迟的 cos(13x 选择和接收数据)。我想用 1 个查询来完成,比如:
从 xxx 中选择 xxx;从 zzz 中选择 zzz;从yyy中选择yyy;
而不是阅读 foreach 表
有没有办法使用 c# 将 1 个查询中的查询包发送到 mysql ?我的意思是我有 13 个选择,它们不相关,所以不能合并它们,它们得到不同类型的数据。现在我得到了 dbconn、13x 选择、dbclose,当它在 lan 上工作时它不是问题,但在互联网上有时需要减慢延迟的 cos(13x 选择和接收数据)。我想用 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
循环,但您明白了。