999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ADO.NET兩種模式訪問數據庫的方法

2021-04-20 06:34:22占梅
電子技術與軟件工程 2021年3期
關鍵詞:數據庫方法

占梅

(廈門南洋職業學院 福建省廈門市 361102)

ADO.SQL Server 是一個關系數據庫管理系統,它可以使用SQL 語句對數據庫執行各種操作,例如更新,搜索,刪除,插入數據等。接下來,我們將使用ADO.asp.net 技術進步通過net 編程了解ADO.NET 體系結構,對象,方法和屬性,ADO.SQL Server 有兩種訪問數據庫的方法。

1 ADO.NET技術簡介

ADO.Net 是用于處理數據的類庫。它提供了一致的對象模型,可以訪問和編輯來自各種數據源的數據,并提供了一種一致的方式來處理來自這些數據源的數據。開發應用程序時使用ADO.NET 網絡數據訪問技術將在應用程序窗口或頁面中可視化地建立應用程序窗口與數據庫之間的信息通信橋梁,并實現信息訪問,添加,刪除,更改和查看的交互操作。ADO.NET 有兩種數據庫訪問模式。一種是連接模式,它可以保持數據庫連接并在斷開數據庫連接之前執行指定的SQL 語句以操作數據。在斷開連接模式下,將數據庫中的數據讀取到服務器的數據集或數據表中,并在斷開連接后操作數據。

2 ADO.NET的五大對象

如圖1 所示。

2.1 數據庫連接對象Connection

連接對象可用于實現應用程序與數據庫之間的連接,并且不同的數據源對應于不同的連接對象。連接對象的公共屬性是connectionstring 屬性,該屬性用于保存連接對象的數據庫連接字符串,獲取或設置數據庫連接字符串,以及state 屬性以顯示當前狀態。打開和關閉連接對象。連接對象的常見方法是open()方法(用于打開數據庫連接)和close()方法(用于關閉數據庫連接)。

2.2 操作命令對象Command

與數據源連接后,可以使用命令對象在數據源上進行查詢,添加,刪除,修改和其他操作。該操作方法可以通過SQL 語句或存儲過程來實現。連接對象所使用的連接對象是命令對象(獲取和設置命令對象)的公共屬性的連接屬性的名稱,命令文本屬性的名稱(對數據執行的獲取和設置SQL 語句或存儲過程)和命令類型的屬性( get 和set 命令要執行的命令類型對。命令對象的常見方法有:executequery()方法(執行commandtext 屬性指定的內容并返回受影響的行數),executereader()方法(執行commandtext 屬性指定的內容并創建datareader 對象),以及executescalar()方法(執行查詢并針對第一行第一列中返回的結果集返回查詢)。

2.3 數據庫閱讀者對象DataReader

當命令對象返回結果集時,需要datareader 對象來檢索數據。datareader 對象返回命令中的只讀,僅轉發數據流。datareader 對象的常見屬性是:fieldcount 屬性(指示從datareader 檢索到的數據行中的字段數),hasrows 屬性(指示datareader 是否包含數據)和isclosed 屬性(指示datareader 對象的isclosed 屬性)。datareader對象的常見方法有:()方法讀取(返回第一個SqlDataReader 并依次讀取值),getname()方法(通過輸入列索引的名稱獲取列),getdatatypenname()方法(通過以下方式獲取列)輸入列的類型索引)和getValue()方法(通過輸入列的索引獲取列)。返回當前記錄行中指定列的值,close()方法(關閉數據讀取器對象)和isull()方法(確定具有指定索引號的列為null 并返回true 或false 的列)。

2.4 數據適配器對象DataAdapter

DataAdapter(或DataAdapter)對象是充當數據集對象和實際數據源之間的橋梁的對象。數據集對象是獨立于數據源的斷開連接的對象。DataAdapter 填充數據并將其數據提交到特定的數據源。它與數據集一起用于添加,查詢,修改,刪除和其他操作。通用屬性的數據適配器對象包括selectcommand 屬性(或一組用于選擇數據源記錄的語句或存儲過程),UpdateCommand 屬性(或一組用于更新數據源的語句或存儲過程)記錄),insertcommand 屬性(獲取和設置語句或存儲過程以在數據源中插入新記錄)和delete命令屬性(獲取或設置語句或存儲過程從數據源中刪除記錄)。DataAdapter 對象的常見方法是fill()方法和update()方法,該方法用從源數據讀取的行填充數據集對象。如果數據集對象中的數據發生更改,它將更新數據源。

2.5 數據集對象DataSet

可以將數據集視為數據容器或“內存中的數據庫”。從數據源獲取數據時,將數據集與數據源斷開連接。您可以在數據集中添加,刪除,查詢,計數和其他記錄,并且在每次操作之后,可以將數據集中的數據發送回數據源。每個數據集都是一個或多個數據表對象的集合。DataTable 等效于數據庫中的表。數據集對象的公共屬性表:獲取數據集中包含的表的集合。您可以通過索引數據集名稱來引用表集合中的表:獲取或設置當前數據集的名稱。Clear()方法:刪除數據集對象中的所有表。Copy()方法:將一個數據集對象的結構和數據復制到另一個DataSet 對象中。

圖1:ADO.NET 的五大對象關系圖

3 ADO.NET兩種模式訪問數據庫

3.1 連接模式

3.1.1 連接模式訪問數據庫的步驟

(1)創建連接對象并與數據庫建立連接;

(2)創建命令對象以在數據庫上執行SQL 命令或存儲過程,包括添加,刪除,修改和查詢數據庫;

(3)打開與數據庫的連接;

(4)執行命令以操作數據庫。如果查詢數據庫數據,請創建一個datareader 對象以讀取命令查詢的結果集,并將結果集綁定到控件。

(5)關閉數據庫連接。

3.1.2 操作數據庫的兩種方法

(1)ExecuteReader()方法。executerreader()方法根據提供的select 語句返回datareader 對象,這提供了順序讀取數據庫的方法。開發人員可以使用datareader 對象的read 方法遍歷每個記錄中每個字段的內容。

(2)ExecuteNonQuery() 方法。ExecuteNonQuery()方法執行SQL 語句并返回受操作影響的行數。通常,數據庫中的表數據直接由update,insert,delete 或select 語句操作。executenonquery()方法返回受update,insert 和delete 語句命令影響的行數。對于select 語句,由于執行select 語句以來數據庫沒有更改,因此返回值為-1。

3.1.3 連接模式案例

string connStr=ConfigurationManager.ConnectionStrings["Mycon nectionstring"].ConnectionString;

SqlConnection conn=new SqlConnection(connStr);//建立連接對象

conn.Open();//打開連接

SqlCommand cmd=new SqlCommand();//建立命令對象

cmd.Connection=conn;

cmd.CommandText="Select *from UserDetails where username=nameStr";

SqlDataReader reader=null;

reader.Close();

conn.Close();//關閉連接

3.2 斷開模式

數據集對象包含多個數據表對象,這些數據表對象存儲與數據源斷開連接的數據。DataAdapter 對象充當數據庫和內存之間的橋梁。DataAdapter 對象的fill 方法用于將查詢結果填充到數據表中。然后,使用DataAdapter 對象的fill 方法將查詢結果填充到數據表中,關閉連接,并保持連接斷開連接。

3.2.1 使用斷開模式查詢數據的步驟

(1)創建連接對象并與數據庫建立連接;

(2)創建DataAdapter 對象并設置select 語句;

(3)創建數據集對象或數據表對象;

(4)用DataAdapter 的填充方法填充數據集;

(5)使用數據控件顯示數據。

3.2.2 使用斷開模式編輯數據的步驟

(1)創建連接對象并與數據庫建立連接;

(2)創建DataAdapter 對象并設置select 語句;

(3)創建一個commandbuilder 對象;

(4)創建數據集對象或數據表對象;

(5)用DataAdapter 的填充方法填充數據集;

(6)使用數據控件來插入,更新或刪除數據;

(7)調用DataAdapter 對象的update 方法來更新數據庫。

3.2.3 斷開模式案例

string connStr=ConfigurationManager.ConnectionStrings["Mycon nectionString"].ConnectionString;

SqlConnection conn=new SqlConnection(connStr);

SqlDataAdapter adapter=new SqlDataAdapter("select *from UserDetails",conn);//建立數據適配器對象

SqlCommandBuilder cmd=new SqlCommandBuilder(adapter);

DataSet ds=new DataSet();//創建數據集

adapter.Fill(ds,"User");//填充數據集的數據表User

DataTable userTable=ds.Table["User"];

DataRow row=usertable.NewRow();

row["UserName"]=nameStr;

row["Pwd"]=pwdStr;

userTable.Rows.Add(row);

adapter.Update(ds.Tables["User"]);//更新數據

4 結束語

連接模式在讀取數據的過程中連接到數據庫,直到程序結束。該方法具有良好的實時性能。但是,獨占數據庫連接是獨占的。在數據量較少的情況下,如果選擇只讀優先級,則連接模式的執行效率仍然是可能的。從數據源獲取數據后,斷開連接模式將斷開數據源的連接。所有數據操作均針對本地數據緩存中的數據。當您需要從數據源獲取新數據或返回已處理的數據時,客戶端將連接到數據源以完成相應的操作。此方法不會壟斷數據庫連接,但它不是實時的。斷開連接模式適用于大量數據以及需要修改和更新數據庫的情況。

因為ADO.NET 提供了一種在.NET 環境中訪問數據技術的通用解決方案。ASP.NET 更容易以連接模式或斷開模式連接和訪問數據庫,因此您可以通過它來控制遠程服務器上的數據庫。

猜你喜歡
數據庫方法
學習方法
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
可能是方法不對
數據庫
財經(2016年15期)2016-06-03 07:38:02
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 四虎永久免费地址| 在线中文字幕网| jizz国产在线| 成人综合网址| 日韩成人在线视频| a毛片在线| 国产91麻豆免费观看| 国产成人免费手机在线观看视频| 国产精品极品美女自在线| 久久精品国产精品国产一区| 另类欧美日韩| 免费一级成人毛片| 国产va免费精品| 日韩精品无码免费专网站| 亚洲精品777| 欧美一级高清视频在线播放| 91av成人日本不卡三区| 色综合五月婷婷| 久久黄色一级片| 国产美女一级毛片| 国产成人喷潮在线观看| 亚洲第一页在线观看| 亚洲第一区在线| 美女内射视频WWW网站午夜| 国产全黄a一级毛片| 永久免费无码日韩视频| 亚洲欧美日韩中文字幕一区二区三区| 色欲色欲久久综合网| 国产人碰人摸人爱免费视频| 亚洲综合久久一本伊一区| 久久人妻xunleige无码| av天堂最新版在线| 超薄丝袜足j国产在线视频| 欧美有码在线观看| 日本精品视频| 久久香蕉国产线看观看亚洲片| 国产高清又黄又嫩的免费视频网站| 在线观看免费人成视频色快速| 国产激情在线视频| 亚洲欧洲日韩综合| www.精品视频| 毛片手机在线看| 久久久久亚洲av成人网人人软件| 精品综合久久久久久97超人| 天天爽免费视频| 婷婷亚洲视频| 亚洲第一黄片大全| 国产福利观看| 99久久国产自偷自偷免费一区| 亚洲国产理论片在线播放| 婷婷色丁香综合激情| 就去吻亚洲精品国产欧美| 亚洲第一视频区| 伊人久久大香线蕉成人综合网| 激情五月婷婷综合网| 九色综合伊人久久富二代| 无码电影在线观看| 97se综合| 欧美国产在线一区| 久久视精品| 999精品视频在线| 亚洲无码精彩视频在线观看| 日韩无码真实干出血视频| 欧美精品不卡| 99热免费在线| 亚洲天堂久久| 狠狠v日韩v欧美v| 福利在线不卡| 精品欧美视频| 情侣午夜国产在线一区无码| 日韩AV手机在线观看蜜芽| 五月天综合网亚洲综合天堂网| 麻豆精品久久久久久久99蜜桃| 国产成人无码久久久久毛片| 亚洲无码高清视频在线观看| 日韩高清无码免费| 国产精品微拍| 国产哺乳奶水91在线播放| 亚洲女同欧美在线| 全免费a级毛片免费看不卡| 2020国产精品视频| 免费99精品国产自在现线|