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();
            }

  • 相关阅读:
    自定义事件的触发dispatchEvent
    [转]ProxmoxVE 干掉 VMware
    【转】怎么去阅读Chromium的源码?
    Delphi内存专题
    Delphi 线程同步技术(转)
    【纸模】六角大王 Super 5.6 CHS 简体中文版 U20080725+[手册]窗口与工具的概要(PDF格式)
    ReSharper反编译C#类库
    CS DevExpress程序启动(主窗体初始化优化)
    【EasyNetQ】- 发布/订阅模式
    Intellij Idea调试java文件时 怎么跳过class文件?
  • 原文地址:https://www.cnblogs.com/nanxiaoxiang/p/6443769.html
Copyright © 2011-2022 走看看