遍历DataSet

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace _05遍历DataSet
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Data.DataTable dt = CommonCode.Sqlhelper.ExecuteDataTable("select Id,Name,paradId from Table_Para");
             //第一种方式:
            foreach (DataRow item in dt.Rows)
            {
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    Console.Write(item[i].ToString() + "\t");
                }
                Console.WriteLine();
            }
                //第二种方式:
            //for (int i = 0; i < dt.Rows.Count; i++)
            //{
            //    for (int j = 0; j < dt.Columns.Count; j++)
            //    {
            //        //输出第i行的第j列
            //        Console.Write(dt.Rows[i][j] + "\t");
            //    }
            //    Console.WriteLine();
            //}


            Console.ReadKey();


        }
    }
}
运行效果图:两种效果图一样

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;

namespace CommonCode
{

    public static class Sqlhelper
    {
        private static readonly string ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
        //执行数据库无非就是执行cmd的以下方法
        //1. ExecuteNonQuery 执行一个insert update delete
        public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddRange(parameters);
                    conn.Open();
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        //2.ExecuteScaler 返回结果集的第一行第一列
        public static object ExecuteScaler(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddRange(parameters);
                    conn.Open();
                    return cmd.ExecuteScalar();
                }
            }
        }

        //3.ExecuteReader 返回一个Reader对象,用于读于多行多列数据
        //在数据库上产生一个结果集,每次Read,从数据库服务器上读取一条数据回来,所以使用Reader读取数据,不能与数据库断开连接.
        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameters)
        {
            SqlConnection conn = new SqlConnection(ConnectionString);
            
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddRange(parameters);
                    conn.Open();
                    try
                    {
                        //在sqlhelper中,由于dr在返回给用户使用,所以注意dr不要使用using(){]
                        SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                            return dr;
                    }
                    catch (Exception ex)
                    {
                        conn.Close();
                        throw ex;  
                    }
          
                }
            }
        //4.执行一个sql语句,并把结果集放入本地的DataTable中.这里数据已
        //经放到本地,断开数据库连接,还是可以访问到数据的.
        public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                using (SqlDataAdapter da = new SqlDataAdapter(sql, conn))
                {
                    da.SelectCommand.Parameters.AddRange(parameters);
                    DataTable dt = new DataTable();
                    //Fill方法其实执行的是da.SelectCommand中的sql语句,这里可以写conn.open也可以不写,如果不写,da会自动连接数据库
                    da.Fill(dt);
                    return dt;
                }
            }
        }
    }
}

 

posted @ 2016-11-08 11:19  狼牙者.net  阅读(2271)  评论(0编辑  收藏  举报