日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#操作SqlServer数据库的常用对象,及其方法

發布時間:2025/7/14 C# 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#操作SqlServer数据库的常用对象,及其方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先放出所常用的對象:

System.Data.SqlClient.SqlConnection

System.Data.SqlClient.SqlCommand

System.Data.SqlClient.SqlDataAdapter

SqlConnection對象用于連接SqlServer數據庫,SqlCommand對象用于執行sql語句,至于SqlDataAdapter對象,后面再說。

一、SqlConnection對象

先看代碼:

string strConn = "server='(local)';database='mydatabase';uid='root';pwd='123456'";//編寫需要連接的數據庫信息,一般這個會在Web.Config文件配置 SqlConnection conn = new SqlConnection(strConn); //創建連接對象 conn.Open();//打開連接

很容易理解,會將上面代碼寫成:

string strConn = "server='(local)';database='mydatabase';uid='root';pwd='123456'";//編寫需要連接的數據庫信息,一般這個會在Web.Config文件配置 using(SqlConnection conn = new SqlConnection(strConn)){ //創建連接對象try{ conn.Open();//打開連接}catch(Exception e){//anything}finally{conn.Close();} }

SqlConnection對象就是只起到連接數據庫作用。

二、SqlCommand對象

SqlCommand對象用于數據的增刪改查操作,所以下面介紹SqlCommand類下面的一些方法:

1、ExecuteNonQuery();?

  ExecuteNonQuery(),看方法名字有Non,可以聯想到其可能沒有返回值。其實它的返回值類型為int型。當select操作時,返回-1;當執行增加,刪除,修改數據時,返回影響的行數。(PS,此方法意義在于執行數據的增、刪、改操作)

2、ExecuteReader();

  ExecuteReader(),該方法用于數據的查詢,執行后的返回值類型是SqlDataReader,可以通過SqlDataReader對象下面的Read()方法來對數據集進行遍歷,有兩種提取數據的手段:SqlDataReader對象["列名"].ToString()和SqlDataReader對象[索引].ToString()(這里的索引值從0開始)

代碼例子:

string strConn = "server='(local)';database='mydatabase';uid='root';pwd='123456'";//編寫需要連接的數據庫信息,一般這個會在Web.Config文件配置 using(SqlConnection conn = new SqlConnection(strConn)){ //創建連接對象try{ conn.Open();//打開連接string strSql = "select * from student_tb";//編寫sql語句SqlCommand sc = new SqlCommand(strSql, conn);//創建SqlCommand對象SqlDataReader reader = cmd.ExecuteReader(); //執行sql語句while(reader.Read()){//遍歷查詢到的數據集int id = int.Parse(reader[0].ToString());//通過索引得到該列的值 }}catch(Exception e){//anything}finally{conn.Close();} }

3、ExecuteScaler();?

  它的返回值類型是Object類型。也是用于查詢,只有確定查詢之后的結果只有一個值得情況下,可以使用此方法。

string strConn = "server='(local)';database='mydatabase';uid='root';pwd='123456'";//編寫需要連接的數據庫信息,一般這個會在Web.Config文件配置 using(SqlConnection conn = new SqlConnection(strConn)){ //創建連接對象try{ conn.Open();//打開連接string strSql = "select stu_name from student_tb";//編寫sql語句SqlCommand sc = new SqlCommand(strSql, conn);//創建SqlCommand對象string stuId = (string)cmd.ExecuteScaler(); //執行sql語句 }catch(Exception e){//anything}finally{conn.Close();} }

三、SqlDataAdapter對象?

上面的查詢方法在處理少量返回數據時非常方便,但遇到需要處理大量返回數據集時,那么需要用到SqlDataAdapter對象。

SqlDataAdapter類提供多個構造方法:

1、SqlDataAdapter(strSql,strConn) ,strSql為字符串形式sql語句,strConn跟上面代碼中的strConn變量一樣

2、SqlDataAdapter(strSql, conn) ,strSql為字符串形式sql語句,conn為SqlConnection對象

3、SqlDataAdapter(cmd) , cmd為SqlCommand對象

我們常常使用SqlDataAdapter來填充一個數據表,其中可以有兩種操作,可以填充DataSet對象,也可以填充DataTable對象。

string strConn = "server='(local)';database='mydatabase';uid='root';pwd='123456'";//編寫需要連接的數據庫信息,一般這個會在Web.Config文件配置 using(SqlConnection conn = new SqlConnection(strConn)){ //創建連接對象try{ conn.Open();//打開連接string strSql = "select * from student_tb";//編寫sql語句SqlCommand sc = new SqlCommand(strSql, conn);//創建SqlCommand對象SqlDataAdapter sda = new SqlDataAdapter(sc);DataSet ds = new DataSet();sda.Fill(ds);//DataTable dt = new DataTable();//sda.Fill(dt);}catch(Exception e){//anything}finally{conn.Close();} }

其實SqlDataAdapter內部通過SqlDataReader獲取數據,而默認情況下SqlDataReader不能獲知其查詢語句對應的數據庫表名,所以上面代碼會在DataSet中創建一個新的DataTable,這個新的DataTable會擁有名為返回數據的相應列名,但是DataTable對象的名稱是Table,我們有時想得到的table名是我們自定義的,則可以添加:

?

//創建SqlDataAdapter對象之后,創建DataSet對象之前,“Table”是默認的Table對象名 sda.TableMappings.Add("Table""MyTableName");

?

或者,直接使用Fill()方法的重載:

sda.Fill(ds, "MyTableName");

以上就是本次總結c#操作SqlServer常用的類和方法,記錄下來,方便以后可以查閱。

?

轉載于:https://www.cnblogs.com/SysoCjs/p/9767913.html

總結

以上是生活随笔為你收集整理的C#操作SqlServer数据库的常用对象,及其方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。