C#訪問資料庫

來源:互聯網
上載者:User

標籤:

C#訪問資料庫無疑是非常方便的,下面給出了C#訪問MSSQL的基本方法。

 

首先聲明命名空間using System.Data.SqlClient;

再使用SqlConnection類串連,SqlCommand類執行SQL命令,結果返回給SqlDataReader類或其它類。

 

各類的基本用法介紹:

SqlConnection類

在構造時傳入串連資料庫字串,也可以定義後通過ConnectionString屬性來設定。

用Open()串連資料庫,用Close()關閉串連。

 

SqlCommand類

在構造時傳入SQL命令和SqlConnection類對象,也可以定義後通過CommandText屬性和Connection屬性來設定。

執行SQL命令並得到結果                 SqlDataReader ExecuteReader()

執行SQL命令並得到受影響的行數    int ExecuteNonQuery()

 

SqlDataReader類

得到共有多少列          FieldCount屬性

得到第i列的列名         string GetName(int i)

得到第i列的資料類型  Type GetFieldType(int i)

判斷第i列是否為空白     bool IsDBNull(int i)

得到第i列的資料        Object GetValue(int i)也可以直接sr[i].ToString()

前進到下一列            bool Read()

關閉                         void Close()

 

 

對 於每個關聯的 SqlConnection,一次只能開啟一個 SqlDataReader,在第一個關閉之前,開啟另一個的任何嘗試都將失敗。類似地,在使用 SqlDataReader 時,關聯的 SqlConnection 正忙於為它提供服務,直到調用 Close()時為止。

 1     //串連資料庫   2     string SQLCONNECT = @"server=PC-200907281720\SQLEXPRESS;database=master;uid=morewindows;pwd=12345";   3     SqlConnection conn = new SqlConnection(SQLCONNECT);   4     conn.Open();   5        6     //串連資料庫之後就可以執行SQL命令了   7     //使用SqlCommand類的ExecuteReader()返回執行的結果   8     string SQLCOMMAND = "select CName, names, C4.LastLogin from C4, S4 where C4.LastLogin = S4.LastLogin order by CName, names";   9     SqlCommand sqlcmd = new SqlCommand(SQLCOMMAND, conn);  10     SqlDataReader sr = sqlcmd.ExecuteReader();  11       12     Console.WriteLine("列數:" + sr.FieldCount);     13               14     Console.WriteLine("列類型分別為:");   15     int nSqlCol = sr.FieldCount;  16     for (int i = 0; i < nSqlCol; ++i)  17     Console.Write(sr.GetFieldType(i) + " ");  18     Console.WriteLine();  19       20     while (sr.Read())  21     {  22     for (int i = 0; i < nSqlCol; i++)  23     Console.Write(sr[i].ToString() + " ");  24     Console.WriteLine();  25     }  26     sr.Close();  27       28     //通過SqlCommand 類的ExecuteNonQuery()來返回受影響的行數。  29     string SQLCOMMAND2 = "update dbo.Messages set MessageNum=‘15‘ where MessageID=‘2‘";  30     SqlCommand sqlcmd2 = new SqlCommand(SQLCOMMAND2, conn);//也可以用sqlcmd. ConnectionString = SQLCOMMAND2 代替  31     int nResult = sqlcmd2.ExecuteNonQuery();  32     Console.WriteLine("受影響行數:" + nResult);  33       34     conn.Close();  

 

C#訪問資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.