代碼段——SqlHelperForSqlServer

連接字符串

<connectionStrings>
	<add connectionString="server=;database=;uid=;pwd=" name="connStr" />
</connectionStrings>

SqlHelper

using System.Configuration;
using System.Data;
using System.Data.SqlClient;    

public class SqlHelper
{
    private static readonly string _connStr4WMSBak = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
    public static SqlConnection GetConnection()
    {
        SqlConnection sqlConnection = new SqlConnection(_connStr4WMSBak);
        sqlConnection.Open();
        return sqlConnection;
    }
    /// <summary>
    /// 返回查詢結果的的表
    /// </summary>
    public static DataTable GetDataTable(string sql, CommandType type = CommandType.Text, params SqlParameter[] param)
    {
        using (SqlConnection conn = GetConnection())
        {
            using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conn))
            {
                if (param != null)
                {
                    adapter.SelectCommand.Parameters.AddRange(param);
                }
                adapter.SelectCommand.CommandType = type;
                DataTable dt = new DataTable();
                adapter.Fill(dt);
                return dt;
            }
        }
    }
    /// <summary>
    /// 返回影響行數
    /// </summary>
    public static int ExecuteNonquery(string sql, CommandType type = CommandType.Text, params SqlParameter[] param)
    {
        using (SqlConnection conn = GetConnection())
        {
            using (SqlCommand cmd = new SqlCommand(sql, conn))
            {
                if (param != null)
                {
                    cmd.Parameters.AddRange(param);
                }
                cmd.CommandType = type;
                return cmd.ExecuteNonQuery();
            }
        }
    }
    /// <summary>
    /// 返回查詢結果的第一行第一個單元格的數據
    /// </summary>
    public static object ExecuteScalar(string sql, CommandType type = CommandType.Text, params SqlParameter[] param)
    {
        using (SqlConnection conn = GetConnection())
        {
            using (SqlCommand cmd = new SqlCommand(sql, conn))
            {
                if (param != null)
                {
                    cmd.Parameters.AddRange(param);
                }
                cmd.CommandType = type;
                return cmd.ExecuteScalar();
            }
        }
    }
    /// <summary>
    /// 使用SqlBulkCopy將DataTable中的數據批量插入數據庫中
    /// </summary>
    /// <param name="dbTableName">數據庫中對應的表名</param>
    /// <param name="dtData">數據集</param>
    public static void SqlBulkCopyInsert(string dbTableName, DataTable dataTable)
    {
        using (SqlBulkCopy sqlRevdBulkCopy = new SqlBulkCopy(GetConnection()))//引用SqlBulkCopy
        {
            sqlRevdBulkCopy.DestinationTableName = dbTableName;//數據庫中對應的表名
            sqlRevdBulkCopy.NotifyAfter = dataTable.Rows.Count;//有幾行數據
            sqlRevdBulkCopy.WriteToServer(dataTable);//數據導入數據庫
            sqlRevdBulkCopy.Close();//關閉連接
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章