有没有办法使用c#将1个查询中的查询包发送到mysql? 我的意思是我有13个选择,他们没有关系,所以不能联合他们,他们得到不同类型的数据。现在我得到了dbconn,13x select,dbclose,当它在局域网上运行时它不是问题,但是在互联网上它有时需要减慢延迟cos(13x选择和重新接收数据)。我喜欢用1个查询来表达:
从xxx中选择xxx; 从zzz中选择zzz; 从yyy中选择yyy;
并且阅读foreach表
答案 0 :(得分: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
跳到下一个结果集。当然,在你的情况下,你知道你可以期待多少结果集,所以你不应该使用while
循环,但你明白了。