黑马程序员技术交流社区

标题: SqlHepler [打印本页]

作者: 王三好王三好    时间: 2013-5-5 15:26
标题: SqlHepler
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace 登录案例
{
    class SqlHepler
    {
        private static string connStr ="Data Source=.;Database=MY;Integrated Security=True";
        public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    //foreach (SqlParameter param in parameters)
                    //{
                    //    cmd.Parameters.Add(param);
                    //}
                    cmd.Parameters.AddRange(parameters);
                    return cmd.ExecuteNonQuery();
                }
            }
        }

        public static object ExecuteScalar(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameters);
                    return cmd.ExecuteScalar();
                }
            }
        }

        //只用来执行查询结果比较少的sql
        public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameters);

                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    DataSet dataset = new DataSet();
                    adapter.Fill(dataset);
                    return dataset.Tables[0];
                }
            }
        }
    }
}

作者: Jacky_Chen1990    时间: 2013-5-5 15:31
呃,java,路过。尹兄无处不在。。。
作者: 风雪再现    时间: 2013-5-6 17:34
  1. public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
  2.         {
  3.             string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
  4.             SqlConnection conn = new SqlConnection(conStr);
  5.             conn.Open();
  6.             SqlCommand com = conn.CreateCommand();
  7.             com.CommandText = sql;
  8.             foreach (SqlParameter parameter in parameters)
  9.             {
  10.                 com.Parameters.Add(parameter);
  11.             }
  12.             
  13.             return com.ExecuteNonQuery();

  14.         }
  15.         /// <summary>
  16.         /// 重载ExecuteScalar()
  17.         /// </summary>
  18.         /// <param name="sql"></param>
  19.         /// <param name="parameters"></param>
  20.         /// <returns></returns>
  21.         public static object ExecuteScalar(string sql, params SqlParameter[] parameters)
  22.         {
  23.             string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
  24.             SqlConnection conn = new SqlConnection(conStr);
  25.             conn.Open();
  26.             SqlCommand com = conn.CreateCommand();
  27.             com.CommandText = sql;
  28.             foreach (SqlParameter parameter in parameters)
  29.             {
  30.                 com.Parameters.Add(parameter);
  31.                
  32.             }

  33.             return com.ExecuteScalar();
  34.         }

  35.         public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameters)
  36.         {
  37.             string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
  38.             SqlConnection conn = new SqlConnection(conStr);
  39.             conn.Open();
  40.             SqlCommand com = conn.CreateCommand();
  41.             com.CommandText = sql;
  42.             foreach (SqlParameter parameter in parameters)
  43.             {
  44.                 com.Parameters.Add(parameter);
  45.             }
  46.             return com.ExecuteReader();
  47.         }

  48.         public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
  49.         {
  50.             string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
  51.             SqlConnection conn = new SqlConnection(conStr);
  52.             conn.Open();
  53.             SqlCommand com = conn.CreateCommand();
  54.             com.CommandText = sql;
  55.             foreach (SqlParameter parameter in parameters)
  56.             {
  57.                 com.Parameters.Add(parameter);
  58.             }
  59.             DataSet ds = new DataSet();
  60.             SqlDataAdapter adapter = new SqlDataAdapter(com);
  61.             adapter.Fill(ds);
  62.             //adapter.InsertCommand = conn.CreateCommand();
  63.             //adapter.InsertCommand.CommandText = "..........";
  64.             DataTable table = ds.Tables[0];
  65.             return table;
  66.         }
复制代码
foreach (SqlParameter parameter in parameters)
            {
                com.Parameters.Add(parameter);
            }
这个循环式不能少的,因为你定义参数的时候params修饰的,参数的个数是不确定的,我的代码没有用using,其他都和你的差不多,希望对你有用




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2