您的位置:首页 > 数据库

C# SqlDataReader读取多个结果集

2013-03-01 16:50 405 查看
 

注意:当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();

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: