C#數據庫操做類

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Text;
using System.Security.Cryptography;//MD5加密需引入的命名空間
using System.Data.SqlClient;//數據庫操做需引入的命名空間

/// <summary>
/// DB 的摘要說明
/// </summary>
public class DB
{
  public DB()
  {
    //
    // TODO: 在此處添加構造函數邏輯
    //
  }

    /// <summary>
    /// 鏈接數據庫
    /// </summary>
    /// <returns>返回SqlConnection對象</returns>
    public SqlConnection GetCon()
    {
        return new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"].ToString());
    }

    /// <summary>
    /// 執行SQL語句
    /// </summary>
    ///<param name="cmdstr">SQL語句</param>
    /// <returns>返回值爲int型:成功返1,失敗返回0</returns>
    public int sqlEx(string cmdstr)
    {
        SqlConnection con = GetCon();//鏈接數據庫
        con.Open();//打開鏈接
        SqlCommand cmd = new SqlCommand(cmdstr, con);
        try
        {
            cmd.ExecuteNonQuery();//執行SQL 語句並返回受影響的行數
            return 1;//成功返回1
        }
        catch (Exception e)
        {
            return 0;//失敗返回0
        }
        finally
        {
            con.Dispose();//釋放鏈接對象資源
        }
    }
    
    /// <summary>
    /// 執行SQL查詢語句
    /// </summary>
    /// <param name="cmdstr">查詢語句</param>
    /// <returns>返回DataTable數據表</returns>
    public DataTable reDt(string cmdstr)
    {
        SqlConnection con =GetCon();
        SqlDataAdapter da = new SqlDataAdapter(cmdstr, con);
        DataSet ds = new DataSet();
        da.Fill(ds);
        return (ds.Tables[0]);
    }
    /// <summary>
    /// 執行SQL查詢語句
    /// </summary>
    /// <param name="str">查詢語句</param>
    /// <returns>返回SqlDataReader對象dr</returns>
    public SqlDataReader reDr(string str)
    {
        SqlConnection conn = GetCon();//鏈接數據庫
        conn.Open();//並打開了鏈接
        SqlCommand com = new SqlCommand(str, conn);
        SqlDataReader dr = com.ExecuteReader(CommandBehavior.CloseConnection);
        return dr;//返回SqlDataReader對象dr
    }
    /// <summary>
    /// MD5加密
    /// </summary>
    /// <param name="strPwd">被加密的字符串</param>
    /// <returns>返回加密後的字符串</returns>
    public string GetMD5(string strPwd)
    {
        string pwd = "";
        //實例化一個md5對象
        MD5 md5 = MD5.Create();
        // 加密後是一個字節類型的數組,這裏要注意編碼UTF8/Unicode等的選擇
        byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(strPwd));
        //翻轉生成的MD5碼        
        s.Reverse();    
        //經過使用循環,將字節類型的數組轉換爲字符串,此字符串是常規字符格式化所得
        //只取MD5碼的一部分,這樣惡意訪問者沒法知道取的是哪幾位
        for (int i = 3; i < s.Length - 1; i++) 
        {
            //將獲得的字符串使用十六進制類型格式。格式後的字符是小寫的字母,若是使用大寫(X)則格式後的字符是大寫字符
            //進一步對生成的MD5碼作一些改造
            pwd = pwd + (s[i] < 198 ? s[i] + 28 : s[i]).ToString("X"); 
        }
        return pwd;
    }
}
相關文章
相關標籤/搜索