對於一些查詢語句所返回的多個結果集,可以調用DataReader對象的Nextresult方法來獲得下一個結果集。如果該方法的返回值為false,則表明已經到達最後一個結果集。例如下麵代碼:
public void Page_Load(Object sender,EventArgs e)
{
// 连接到本地计算机的student数据库
String strConn = "server=(local);database=test;Trusted_Connection=yes";
SqlConnection cn = new SqlConnection (strConn);
// 打开连接
cn.Open();
// 创建Command对象,其中包含两个查询语句
string s1 ="select id from Student;" ;
string s2 ="select name from Student" ;
SqlCommand cm = new SqlCommand(s1+s2, cn);
// 创建DataReader对象
SqlDataReader dr = cm. ExecuteReader();
// 通过DataReader的Read方法,依次读取一个SQL语句的查询结果
do
{
// 通过DataReader的Read方法,依次读取一个SQL语句的查询结果
while(dr.Read())
{
object[] cols = new object[2];
int n = dr.GetValues(cols);
Message.Text = Message.Text + " / " + dr[0].ToString();
}
// 通过DataReader的NextResult()方法,读取下一个SQL语句的查询结果
Message.Text = Message.Text + " **** ";
}
while(dr.NextResult());
// 关闭dr
dr.Close();
// 关闭连接
cn.Close();
}
顯示結果如下:
/2001010348/2001011780/2001296531****/张三/李四/王二****