在我的代码中有一个循环,它使用SqlCommand提供SQL查询的结果。 但是,对于我需要运行的一些查询,查询中有多个select语句。例如,这可能是整个语句的样子:
Dim query as string = "
Select * from people
Select * from places
Select * from items
Select * from foods"
cmd = New SqlCommand(query, connect)
cmd.Connection.Open()
reader = cmd.ExecuteReader
While reader.HasRows()
//various logic
While reader.Read()
//Do Logic Here
End While
End While
当我的查询运行时,我得到前2个的结果,但由于第3个没有结果,它将应用程序踢出循环,我没有得到第4个选择的结果。我也需要第4次选择的结果。
编辑:Union不适用于这种情况,因为我需要能够区分逻辑中的结果集。
答案 0 :(得分:1)
static void Main(string[] args)
{
cmd = new SqlCommand("zp_multiple_results", connect);
cmd.Connection.Open();
reader = cmd.ExecuteReader();
do
{
if (reader.HasRows)
while (reader.Read())
{
Console.WriteLine(reader[0].ToString());
}
}
while (reader.NextResult());
cmd.Connection.Close();
cmd.Connection.Dispose();
cmd.Dispose();
Console.ReadLine();
}