A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

王三好王三好

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 王三好王三好 初级黑马   /  2013-5-5 15:26  /  1144 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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];
                }
            }
        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

3 个回复

倒序浏览
呃,java,路过。尹兄无处不在。。。
回复 使用道具 举报
  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,其他都和你的差不多,希望对你有用

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马