在我的代码中有一个循环,使用SqlCommand给出SQL查询的结果。但是,对于我需要运行的一些查询,查询中有多个选择语句。例如,这可能是整个语句的样子:
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个结果,但由于第三个没有结果,它将应用程序踢出循环,我没有得到第4个选择的结果。我还需要第4次选择的结果。
编辑:联合将不工作在这种情况下,因为我需要能够区分结果集在我的逻辑。
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();
}