zoukankan      html  css  js  c++  java
  • sql NextResult()多个结果集

    转自  http://blog.csdn.net/limlimlim/article/details/8626898

    注意:当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) + " ");
                                                    break;
                                                case "int":
                                                    Console.Write(reader.GetInt32(i) + " ");
                                                    break;
                                            }
                                        }
                                        Console.WriteLine();
                                    }
                                }
                            } while (reader.NextResult()); //当多个结果集的时候可以调用NextResult

                        }
                    }
                }
                Console.WriteLine("ok");
                Console.ReadKey();
            }

  • 相关阅读:
    信道、模拟信道、数字信道、基带信号、宽带信号的概念
    数据、信息、信号与码元的概念
    如何少些重复代码?
    编程中阶段性测试的重要性
    Python 字典的初始化,字典参数引用传递等问题
    什么是操作系统内核?有什么意义?
    什么是系统调用?系统调用的执行过程是什么?
    鼠标右键新建 Typora 文件
    如何快速高效的学习一门新技术
    字符串处理
  • 原文地址:https://www.cnblogs.com/nanxiaoxiang/p/6443769.html
Copyright © 2011-2022 走看看