zoukankan      html  css  js  c++  java
  • SqlHelper类

    工作的时候我用的最多的是Orcal数据库,但是写小程序和Dome的时候,我喜欢用Sql Server数据库,SqlHelper类是最基本的与数据库交互的类,记录下来,下次用的时候直接拷贝。

      public static class SqlHelper
        {
            static string connection = "Data Source=.;Initial Catalog=Exercise;Integrated Security=True";//数据库连接字符串
            /// <summary>
            /// 返回受影响的行数
            /// </summary>
            /// <param name="sql">sql语句</param>
            /// <param name="sp">参数</param>
            /// <returns></returns>
            public static int ExcuteNonQuery(string sql, params SqlParameter[] sp)
            {
                using (SqlConnection conn = new SqlConnection(connection))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        cmd.CommandText = sql;
                        cmd.Connection = conn;
                        cmd.Parameters.AddRange(sp);
                        return cmd.ExecuteNonQuery();
                    }
                }
            }
            /// <summary>
            /// 返回首行首列的值
            /// </summary>
            /// <param name="sql">sql语句</param>
            /// <param name="sp">参数</param>
            /// <returns></returns>
            public static int ExcuteScalre(string sql, params SqlParameter[] sp)
            {
                using (SqlConnection conn = new SqlConnection(connection))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        cmd.Parameters.AddRange(sp);
                        return (int)cmd.ExecuteScalar();
                    }
                }
            }
            /// <summary>
            /// 返回DataTable类型的数据
            /// </summary>
            /// <param name="sql">sql语句</param>
            /// <param name="sp">参数</param>
            /// <returns></returns>
            public static DataTable ExcuteDataTable(string sql, params SqlParameter[] sp)
            {
                using (SqlConnection conn = new SqlConnection(connection))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(sql, conn))
                    {
                        cmd.Parameters.AddRange(sp);
                        DataTable dt = new DataTable();
                        using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
                        {
                            adapter.Fill(dt);
                        }
                        return dt;
                    }
                }
            }
            /// <summary>
            /// 返回SqlDataReader
            /// </summary>
            /// <param name="sql">sql语句</param>
            /// <param name="sp">参数</param>
            /// <returns></returns>
            public static SqlDataReader ExcuteSqlDataReader(string sql, params SqlParameter[] sp)
            {
                SqlConnection conn = new SqlConnection(connection);
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.AddRange(sp);
                SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                return reader;
            }
        }
    ExcuteNonQuery(): 查询语句不能用,如果用ExcuteNonQuery执行查询语句,返回值会是 -1,UPDATE、INSERT 和 DELETE用的最多.
    ExcuteScalre(): 一般情况下,查询语句用多一点。

  • 相关阅读:
    win平台搭建Lnmp环境
    YII2 model where 条件拼接
    yii2框架-yii2局部关闭(开启)csrf的验证
    Yii2 控制器单独向view(layout)传值
    Yii2 数据库基本操作
    PHP 多线程采集
    php 阿拉伯数字转中文
    javascript里的sleep()方法
    PHP数组内容不重复组合排列算法
    git使用经验(一)
  • 原文地址:https://www.cnblogs.com/zhangjd/p/5708153.html
Copyright © 2011-2022 走看看