C#連接SQL Server 數據庫

jopen 8年前發布 | 20K 次閱讀 .NET開發

      C# 是如何跟SQL Server進行連接的?


       在C#/.NET程序設計中,離不開ADO.NET。ADO.NET是.NET連接數據庫的重要組件。使用其可以很方便地訪問數據庫,ADO.NET還可以訪問Oracle數據庫、Access數據庫、SQL Server數據庫等主流的數據庫。使用ADO.NET連接數據庫主要使用ADO.NET中的5個類。

       數據庫連接類Connection:如果連接SQLServer數據庫,可以使用SqlConnetion類。在使用SqlConnection類是要引用一個System.Data.SqlClient的命名空間。

       數據庫命令類Command:如果連接的是SQLServer數據庫,可以使用SqlCommand。數據庫命令類主要執行對數據庫的操作,比如插入、刪除、修改等。

       數據庫讀取類DataReader:如果連接SQLServer數據庫,可以使用SqlDataReader。數據庫讀取類是數據庫命令類在執行了查詢操作后返回的結果的數據類型。數據庫讀取類只是數據庫的連接狀態處于打開狀態時才能使用,當數據庫關閉時數據庫讀取類中就不能夠再取值了。

       數據集類DataSet:數據集相當于一個虛擬數據庫,每一個數據集中包括了多張數據表。即使數據庫的連接處于斷開狀態,還是可以從數據集中繼續存取記錄,只是數據是存放在數據集中的,并沒有存放在數據庫中。

       數據適配類DataAdapter:如果連接SQLServer數據庫,可以使用SqlDataAdapter。數據適配器經常和數據集一起使用,通過數據適配器可以把數據庫中的數據存放到數據集中,數據適配器可以說是數據集和數據庫之間的一個橋梁。


            連接數據庫一般有兩種方式:

       1、使用SQL用戶名、密碼驗證

        Data Source = 服務器名;Initial Catalog = 數據庫名;User ID = 用戶名;Pwd = 密碼(沒有密碼可以省略)

                例如:public string connString = "Data Source=xp;Initial Catalog=ExpressManager;User ID = sa;Pwd = 123";

       2、使用windows身份驗證

        Data Source = 服務器名;Initial Catalog = 數據庫名;Integrated Security = TRUE(或者:SSPI)

                例如:public string connString = "Data Source=xp;Initial Catalog=ExpressManager;Integrated Security=TRUE";


      在身份驗證可以選SQL 用戶名、密碼驗證。


      接下來就是在源文件里加入連接數據庫的代碼,首先得在xxx.cs源文件中加入以下語句

      using System.Data; 

      using System.Data.SqlClient;

      接下來就是對數據庫的操作類方法的實現:

// 數據庫操作類
    class Express
    {
        public string connString = "Data Source=xp;Initial Catalog=ExpressManager;Integrated Security=TRUE";
        //創建連接對象的變量
        public SqlConnection conn;
        // 執行對數據表中數據的增加、刪除、修改操作
        public int NonQuery(string sql)
        {
            conn = new SqlConnection(connString);
            int a = -1;
            try
            {
                conn.Open();  //打開數據庫
                SqlCommand cmd = new SqlCommand(sql, conn);
                a = cmd.ExecuteNonQuery();
            }
            catch
            {

            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();    //關閉數據庫
                }
            }
            return a;

        }
        // 執行對數據表中數據的查詢操作
        public DataSet Query(string sql)
        {
            conn = new SqlConnection(connString);
            DataSet ds = new DataSet();
            try
            {
                conn.Open();      //打開數據庫
                SqlDataAdapter adp = new SqlDataAdapter(sql, conn);
                adp.Fill(ds);
            }
            catch
            {

            }
            finally
            {
                if(conn.State== ConnectionState.Open)
                conn.Close();      //關閉數據庫
            }
            return ds;
        }
    }

微笑 如有什么不對的地方還望指點!

       


來自: http://blog.csdn.net//w_x_p/article/details/27581621

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!