本文主要是介绍C# SqlDataReader读取多个结果集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一次执行多个select,然后返回多个查询结果的话,要使用多结果集技术:
注意:当SQL语句中出现两条Select语句,例如:string sql = "select * from Employees;select * from TblClass";
可以用SqlDataReader的NextResult()来接收多个结果集
使用
do
{
}
while(reader.NextResult())
static void Main(string[] args){string constr = "Data Source=zxtiger;Initial Catalog=itcastcn;Integrated Security=True";using (SqlConnection con = new SqlConnection(constr)){string sql = "select * from Employees;select * from TblClass";using (SqlCommand cmd = new SqlCommand(sql, con)){con.Open();using (SqlDataReader reader = cmd.ExecuteReader()){do{if (reader.HasRows){while (reader.Read()){//循环列for (int i = 0; i < reader.FieldCount; i++){//根据索引,获取列名//reader.GetName(i);//获取当前列的数据类型string dbType = reader.GetDataTypeName(i);switch (dbType){case "varchar":case "nvarchar":case "char":case "nchar":Console.Write(reader.GetString(i) + "\t");break;case "int":Console.Write(reader.GetInt32(i) + "\t");break;}}Console.WriteLine();}}} while (reader.NextResult()); //当多个结果集的时候可以调用NextResult}}}Console.WriteLine("ok");Console.ReadKey();}
这篇关于C# SqlDataReader读取多个结果集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!