<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Hopes

    Start Here..

     

    數(shù)據(jù)訪問(wèn)類入門(mén)篇SqlDataBase.cs



    using System;
    using System.Collections.Generic;
    using System.Text;

    //**********************************************************************************************
    // 需新添加的命名空間如下:
    //**********************************************************************************************
    using System.Data;
    using System.Configuration;
    using System.Data.SqlClient;
    using System.Windows.Forms;

    namespace ClassLibrary1
    {
    public class SqlDataBase
    {
    private SqlConnection conn; //創(chuàng)建數(shù)據(jù)連接器;
    private SqlDataAdapter sda; //創(chuàng)建數(shù)據(jù)適配器;
    private SqlDataReader sdr; //創(chuàng)建數(shù)據(jù)讀取器;
    public SqlCommand SqlCmd; //創(chuàng)建Sql命令;
    private DataSet ds; //創(chuàng)建數(shù)據(jù)集;
    private DataView dv; //創(chuàng)建數(shù)據(jù)視圖;
    public SqlDataBase()
    {
    //
    // TODO: 在此處添加構(gòu)造函數(shù)邏輯
    //
    }
    //**********************************************************************************************
    // 打開(kāi)數(shù)據(jù)庫(kù)連接
    //**********************************************************************************************
    public void MyOpen()
    {
    try
    {
    conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);
    //conn = new SqlConnection(@"data Source=F14BC4C8DAE9418\SQLEXPRESS;database=recipeDB;security=true;");
    conn.Open();
    }
    catch (SqlException e)
    {
    MessageBox.Show(e.Errors[0].Message.ToString());
    }
    }
    //**********************************************************************************************
    // 關(guān)閉數(shù)據(jù)庫(kù)連接并釋放資源
    //**********************************************************************************************
    public void MyClose()
    {
    if (conn != null)
    {
    conn.Close();
    conn.Dispose();
    }
    }

    //**********************************************************************************************
    // 返回?cái)?shù)據(jù)集
    //**********************************************************************************************
    public DataSet GetDs(string SqlString)
    {
    try
    {
    MyOpen();
    sda = new SqlDataAdapter(SqlString, conn);
    ds = new DataSet();
    sda.Fill(ds);
    MyClose();
    return ds;
    }
    catch(SqlException e)
    {
    MessageBox.Show(e.Errors[0].Message.ToString());
    return null;
    }
    }

    //**********************************************************************************************
    // 返回?cái)?shù)據(jù)視圖
    //**********************************************************************************************
    public DataView GetDv(string SqlString)
    {
    ds = GetDs(SqlString);
    dv = ds.Tables[0].DefaultView;
    return dv;
    }
    //**********************************************************************************************
    // 創(chuàng)建數(shù)據(jù)視圖
    //**********************************************************************************************
    public DataView CreateView(string strSql, int sRecord, int mRecord)
    {
    MyOpen();
    sda = new SqlDataAdapter(strSql, conn);
    ds = new DataSet();
    sda.Fill(ds, sRecord, mRecord, "temptbl");
    DataView dv = ds.Tables["temptbl"].DefaultView;
    conn.Close();
    conn.Dispose();
    return dv;
    }
    //**********************************************************************************************
    // 獲取數(shù)據(jù)表
    //**********************************************************************************************
    public DataTable GetDt(string SqlString)
    {
    return GetDs(SqlString).Tables[0];
    }

    //***********************************************************************************************
    // 返回?cái)?shù)據(jù)讀取器,執(zhí)行完后關(guān)閉連接(使用該方法切記要手工關(guān)閉SqlDataReader和連接)
    //***********************************************************************************************
    public SqlDataReader GetDr(string SqlString)
    {
    MyOpen();
    SqlCmd = new SqlCommand(SqlString, conn);
    try
    {
    sdr = SqlCmd.ExecuteReader();
    return sdr;
    }
    catch (System.Data.SqlClient.SqlException e)
    {
    throw new Exception(e.Message);
    }
    finally //不能在此關(guān)閉,否則,返回的對(duì)象將無(wú)法使用
    {
    //在這關(guān)閉 SqlDataReader對(duì)象.eg.
    //dr.Close();
    //SqlCmd.Dispose();
    //MyClose();
    }

    }

    //**********************************************************************************************
    // 執(zhí)行無(wú)需返回的Sql語(yǔ)句
    //**********************************************************************************************
    public bool RunSql(string SqlString)
    {
    try
    {
    MyOpen();
    SqlCmd = new SqlCommand(SqlString, conn);
    if (SqlCmd.ExecuteNonQuery() > 0)
    {
    MyClose();
    return true;
    }
    else
    {
    MyClose();
    return false;
    }

    }
    catch { return false; }
    }

    public void ExecuteSql(string sqlstr)
    {
    try
    {
    MyOpen();
    SqlCmd = new SqlCommand(sqlstr, conn);

    SqlCmd.ExecuteNonQuery();
    }
    catch (Exception e)
    {
    throw new Exception(e.Message);
    }
    finally
    {
    MyClose();
    }
    }
    //************************************************************************************************
    // 返回Sql語(yǔ)句的第一行第一列,否則返回空
    //************************************************************************************************
    public string RunSqlReturn(string SqlSrting)
    {
    string returnString = "";
    MyOpen();
    SqlCmd = new SqlCommand(SqlSrting, conn);
    try
    {
    returnString = SqlCmd.ExecuteScalar().ToString();
    return returnString;
    }
    catch
    {
    return returnString;
    }
    finally
    {
    MyClose();
    }
    }

    //**********************************************************************************************
    // 返回一個(gè)數(shù)據(jù)行
    //**********************************************************************************************
    public DataRow GetDataRow(string SqlString)
    {
    DataSet dataset = GetDs(SqlString);
    dataset.CaseSensitive = false;
    if (dataset.Tables[0].Rows.Count > 0)
    {
    return dataset.Tables[0].Rows[0];
    }
    else
    {
    return null;
    }
    }
    //**********************************************************************************************
    // 返回object對(duì)象
    //**********************************************************************************************
    public object ExceScalar(string SqlString)
    {
    try
    {
    MyOpen();
    SqlCmd = new SqlCommand(SqlString, conn);
    object val = SqlCmd.ExecuteScalar();
    SqlCmd.Parameters.Clear();
    MyClose();
    return val;

    }
    catch
    {

    return null;

    }
    }
    #region ExeSqlFillTab(string sqlStr, ref DataSet TargetDataSet)執(zhí)行sql,并將返回信息填充到到TargetDataSet中,執(zhí)行成功返回true,否則為false
    /// <summary>
    ///
    /// 執(zhí)行sql,并將返回信息填充到到TargetDataSet中的tableName中,執(zhí)行成功返回true,否則為false
    ///</summary>
    public bool ExeSqlFillTab(string SqlString, ref DataSet TargetDataSet)
    {
    try
    {
    MyOpen();
    SqlCmd = new SqlCommand(SqlString, conn);
    SqlCmd.CommandType = CommandType.Text;

    sda = new SqlDataAdapter(SqlString, conn);

    sda.Fill(TargetDataSet);
    MyClose();
    return true;
    }
    catch (Exception ex)
    {
    Console.WriteLine(ex.Message);
    //TLog.WriteLog("ExeSqlFillTab Error:"+ex.Message+" sql:"+sqlStr);
    return false;
    }
    finally
    {
    MyClose();
    if (SqlCmd != null)
    SqlCmd.Dispose();
    }
    }
    #endregion
    }
    }




    注意:上面的代碼初學(xué)者可以拿來(lái)學(xué)學(xué),但在做項(xiàng)目中不要用它,因?yàn)榇蠖嘣L問(wèn)數(shù)據(jù)庫(kù)方法沒(méi)有及時(shí)銷廢相關(guān)對(duì)象,導(dǎo)致如下問(wèn)題出現(xiàn):http://www.cnblogs.com/qiantuwuliang/archive/2009/05/31/1492959.html,建議使用微軟發(fā)布的SqlHelper.cs類,(在Petshop 當(dāng)中可找到它)!!!

    posted on 2012-09-16 11:23 ** 閱讀(682) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊(cè)

    收藏夾

    C#學(xué)習(xí)

    友情鏈接

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲va中文字幕| 九九视频高清视频免费观看| 在线免费观看一级毛片| 西西人体大胆免费视频| 亚洲精品中文字幕乱码三区| 91香蕉国产线观看免费全集| 亚洲kkk4444在线观看| 亚洲综合色视频在线观看| 2020亚洲男人天堂精品| 久久免费看少妇高潮V片特黄| 一本色道久久88亚洲综合| 亚洲国产精品自在自线观看| 亚洲一区二区三区免费| 久草视频在线免费| 男女作爱免费网站| 亚洲精品免费在线| 亚洲福利视频一区二区| 国内精自视频品线六区免费| 一级看片免费视频囗交| 亚洲AV无码成人专区| 最近中文字幕mv免费高清视频7| 一区二区三区免费视频播放器| 亚洲乱人伦精品图片| 伊人久久大香线蕉亚洲| baoyu777永久免费视频| 午夜亚洲AV日韩AV无码大全| 日本免费人成黄页在线观看视频| 免费无码又爽又刺激高潮软件| 亚洲av丰满熟妇在线播放 | 国产91久久久久久久免费| 亚洲国产成人久久精品大牛影视| 亚洲大尺度无码专区尤物| 亚洲精品免费在线观看| 粉色视频成年免费人15次| 亚洲欧洲国产精品久久| 四虎免费大片aⅴ入口| 日本一道本不卡免费| 一个人看www免费高清字幕| 亚洲欧美不卡高清在线| 亚洲精品综合久久| 天天看免费高清影视|