zoukankan      html  css  js  c++  java
  • 数据库连接的多种方式(一)

    public class Helper
    
        {
    
            private static string cons = "server=.;uid=sa;pwd=;database=pubs";
    
            //查询
    
            public static DataTable ExecuteDataQuery(string sql)
    
            {
    
                using (SqlConnection con = new SqlConnection(cons))
    
                {
    
                    con.Open();
    
                    DataTable tbl = new DataTable();
    
                    SqlDataAdapter adap = new SqlDataAdapter(sql, con);
    
                    adap.Fill(tbl);
    
                    return tbl;
    
                }
    
    
            }
    
            public static SqlDataReader ExecuteDataQuery(string sql)
    
            {
    
                SqlConnection con = new SqlConnection(cons);
    
                SqlCommand cmd = new SqlCommand(sql, con);
    
                con.Open();
    
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
    
    
            }
    
            //增删改
    
            public static void ExecuteNonQuery(string sql)
    
            {
    
                using (SqlConnection con = new SqlConnection(cons))
    
                {
    
                    con.Open();
    
                    SqlCommand cmd = new SqlCommand(sql, con);
    
                    cmd.ExecuteNonQuery();
    
                }
    
            }
    
        }
    
    ------------------------------------------------------------------------------------------------------------------------------
    
    using System;
    using System.Collections;
    using System.Collections.Specialized;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    
    
    /// <summary>
    /// Copyright (C) 2004-2008 LiTianPing 
    /// 数据访问基础类(基于SQLServer)
    /// 用户可以修改满足自己项目的需要。
    /// </summary>
    public abstract class DbHelperSQL
    {
        protected static string connectionString = CFunc.ConnectionString;
        public static SqlConnection conn = null;
    
        public static void connColse()
        {
            if (conn.State == ConnectionState.Open)
            {
                conn.Close();
            }
        }
        #region 执行简单SQL语句
    
        /// <summary>
        /// 执行SQL语句,返回影响的记录数
        /// </summary>
        /// <param name="SQLString">SQL语句</param>
        /// <returns>影响的记录数</returns>
        public static int ExecuteSql(string SQLString)
        {
            conn = new SqlConnection(connectionString);
    
            using (SqlCommand cmd = new SqlCommand(SQLString, conn))
            {
                try
                {
                    conn.Open();
                    int rows = cmd.ExecuteNonQuery();
                    return rows;
                }
                catch (System.Data.SqlClient.SqlException E)
                {
                    throw new Exception(E.Message);
                }
                finally
                {
                    cmd.Dispose();
                    conn.Close();
                }
            }
    
        }
    
        /// <summary>
        /// 执行多条SQL语句,实现数据库事务。
        /// </summary>
        /// <param name="SQLStringList">多条SQL语句</param>  
        public static void ExecuteSqlTran(ArrayList SQLStringList)
        {
            conn = new SqlConnection(connectionString);
    
            conn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            SqlTransaction tx = conn.BeginTransaction();
            cmd.Transaction = tx;
            try
            {
                for (int n = 0; n < SQLStringList.Count; n++)
                {
                    string strsql = SQLStringList[n].ToString();
                    if (strsql.Trim().Length > 1)
                    {
                        cmd.CommandText = strsql;
                        cmd.ExecuteNonQuery();
                    }
                }
                tx.Commit();
            }
            catch (System.Data.SqlClient.SqlException E)
            {
                tx.Rollback();
                throw new Exception(E.Message);
            }
            finally
            {
                cmd.Dispose();
                conn.Close();
            }
    
        }
        /// <summary>
        /// 执行带一个存储过程参数的的SQL语句。
        /// </summary>
        /// <param name="SQLString">SQL语句</param>
        /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特
    
    殊符号,可以通过这个方式添加</param>
        /// <returns>影响的记录数</returns>
        public static int ExecuteSql(string SQLString, string content)
        {
            conn = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand(SQLString, conn);
            System.Data.SqlClient.SqlParameter myParameter = new
    
    System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText);
            myParameter.Value = content;
            cmd.Parameters.Add(myParameter);
            try
            {
                conn.Open();
                int rows = cmd.ExecuteNonQuery();
                return rows;
            }
            catch (System.Data.SqlClient.SqlException E)
            {
                throw new Exception(E.Message);
            }
            finally
            {
                cmd.Dispose();
                conn.Close();
            }
        }
        /// <summary>
        /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
        /// </summary>
        /// <param name="strSQL">SQL语句</param>
        /// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
        /// <returns>影响的记录数</returns>
        public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
        {
            conn = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand(strSQL, conn);
            System.Data.SqlClient.SqlParameter myParameter = new
    
    System.Data.SqlClient.SqlParameter("@fs", SqlDbType.Image);
            myParameter.Value = fs;
            cmd.Parameters.Add(myParameter);
            try
            {
                conn.Open();
                int rows = cmd.ExecuteNonQuery();
                return rows;
            }
            catch (System.Data.SqlClient.SqlException E)
            {
                throw new Exception(E.Message);
            }
            finally
            {
                cmd.Dispose();
                conn.Close();
            }
        }
    
        /// <summary>
        /// 执行一条计算查询结果语句,返回查询结果(object)。
        /// </summary>
        /// <param name="SQLString">计算查询结果语句</param>
        /// <returns>查询结果(object)</returns>
        public static object GetSingle(string SQLString)
        {
            conn = new SqlConnection(connectionString);
    
            using (SqlCommand cmd = new SqlCommand(SQLString, conn))
            {
                try
                {
                    conn.Open();
                    object obj = cmd.ExecuteScalar();
                    if ((Object.Equals(obj, null)) || (Object.Equals(obj,
    
    System.DBNull.Value)))
                    {
                        return null;
                    }
                    else
                    {
                        return obj;
                    }
                }
                catch (System.Data.SqlClient.SqlException e)
                {
                    conn.Close();
                    throw new Exception(e.Message);
                }
                finally
                {
                    cmd.Dispose();
                    conn.Close();
                }
            }
        }
        /// <summary>
        /// 执行查询语句,返回SqlDataReader
        /// </summary>
        /// <param name="strSQL">查询语句</param>
        /// <returns>SqlDataReader</returns>
        public static SqlDataReader ExecuteReader(string strSQL)
        {//使用完后请关闭conn
            conn = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand(strSQL, conn);
            try
            {
                conn.Open();
                SqlDataReader myReader = cmd.ExecuteReader();
                return myReader;
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                throw new Exception(e.Message);
            }
        }
    
    
    
  • 相关阅读:
    CLR自定义菜单项(ToolStripItem)
    WinForm停靠控件介绍:WeifenLuo.WinFormsUI.Docking.dll
    D3D11中的设备介绍
    D3D11 Effect状态的设置
    在写游戏时钟类时,应确保时钟的计算是以某个固定的CPU为标准的
    精确获取时间(QueryPerformanceCounter)
    定点数与浮点数
    error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2'
    fpu,mmx以及sse寄存器的少量简介
    灵宝方言(超搞笑)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1724063.html
Copyright © 2011-2022 走看看