adonet資料庫訪問技術
『壹』 asp.net和ado.net有什麼區別
asp.net和ado.net的區別列舉如下:
1.ADO.net它提供了平台互用性和可伸縮的數據訪問。ADO.NET增強了對非連接編程模式的支持。Asp.net是動態伺服器頁面,用戶可以和他進行交互,經常通過ADO.net讀取和更新數據。
2.ASP.NET是建立在公共語言運行庫上的編程框架,可用於在伺服器上生成 Web 應用程序。ADO.NET是一種基於標準的程序設計模型,可以用來創建分布式應用以實現數據共享。
3.ASP.NET可以看成是.NET的一部分,可以用於動態網站製作的一項技術,當然也可以作項目。ADO.NET是.NET Framework中的一套類庫,看作一個文件夾吧,裡面的文件就是那些能夠訪問資料庫的類。
4.ASP.NET是微軟在.net Framework提供的,用於開發web應用程序的類庫,封裝在System.Web.dll中,對應程序中是System.Web這個命名空間。ADO.NET 對 Microsoft SQL Server 和 XML 等數據源以及通過 OLE DB 和 XML 公開的數據源提供一致的訪問。
5.ado.net是資料庫的一種訪問方式,不能與asp.net相提並論,asp.net是基於.NetFramdwork 的網站開發技術。在資料庫訪問主要使用ADO.NET方式,主要表現對象為:DataSet 內存載入數據方式。
『貳』 請敘述一下asp.net ado.net framework三者的關系
asp.net是一種開發架構,包含了c#、vb、j#等語言,是.NET FrameWork的一部分,是一種使嵌入網頁中的腳本可由網際網路伺服器執行的伺服器端腳本技術。
ado.net是一種數據訪問技術,也是asp.net用來動態交互的數據工具。
而.net framework是一個框架,一個平台。不管是c#.net還是vb.net開發的東西都可以在這平台上運行。
簡單來說,asp.net基於.net framework,而ado.net是asp.net中用來數據交互的工具。
『叄』 簡述 ADO.NET訪問資料庫的步驟
1,引入命名空間
2,定義連接字元串
3,定義connection對象
4,寫Sql語句
5,創建command對象
6,try{}catch{}finally{}
7,打開資料庫連接
8,創建DataReader對象
9,逐行讀取DataReader對象查詢的結果
0,關閉DataReader對象
11,關閉資料庫連接
『肆』 什麼是ado.net,它跟C#有沒有關系
ado.net跟C#沒有直接關系,
C#是一門語言,ado.net是.net框架訪問資料庫的一種技術,c#要訪問資料庫就要用這門技術,
『伍』 請介紹一下ADO.NET框架下幾種資料庫訪問技術的優缺點。詳細一點
數據源控制項訪問資料庫:簡單快捷,但是真正的開發中不會去這樣用的,因為1是效率問題2是靈活性不足,這就跟ASP.NET裡面的其他控制項一樣,正的要做大應用是不會用這種東西的,因為擴展性不足,或者為了做到兼容性損失了效率。 使用.NET數據提供程序訪問資料庫:共有4種,SQL Server .NET Framework數據提供程序,OLEDB .NET Framework數據提供程序,ODBC .NET Framework數據提供程序,Oracle .NET Framework數據提供程序。看名字也該明白,針對不同的資料庫使用不同的數據提供程序,這是開發中最經常使用的方式,缺點是米有辦法應對多資料庫的情況,也就是說假如你的應用是面向多資料庫的,那麼有幾種資料庫,基本要寫幾套SQL。 用DATASet:恭喜你不用寫T-SQL了,但是你要學會它的語法,從此不用擔心多資料庫應用的問題。但是慘了,它為了兼容多種資料庫因此T-SQL寫的真的「很兼容」執行效率太低,同樣的一個表現結果,這個SQL嵌套了好幾次,效率灰常低。 LINQ to SQL:老實講,他就是為SQL SERVER而生的,你也不用寫T-SQL了,它的語法學學還是好處頗多,因因為你在LINQ TO OBJECT上也能見到這種語法的影子收益頗多,它的執行效率很快,但是不管怎麼講也沒有你直接用SQL Server .NET Framework數據提供程序,自己寫SQL快,可控製程度高,好處也是顯而易見就像用DATASET一樣,你不用再為了數據持久化問題寫一大堆ORM的東西了。 by the way,目前.NET中,ORM用的比較多的是Nhibernate,但是你如果就想用SQL SERVER還是用LINQ to SQL吧,好處顯而易見,在開發過程中對於資料庫的變更也是比較常見的,你的資料庫欄位不知道會出現在哪個類,哪個文件中,如果用了DATASET,或LINQ2SQL在編譯階段你就可以察覺到這種變更帶來的影響。
『陸』 ITJOB考題使用ADO.NET數據訪問技術連接Oracle資料庫和連接Sql Server資料庫的有哪幾個步驟
隨著資料庫產品和技術的發展,資料庫訪問技術也從ODBC、DAO、RDO、OLE DB、ADO 和 RDS發展到今天的ADO.NET。以下內容由城市刀客整理編輯,旨在為你展示資料庫訪問技術的概貌。
<!--[if !supportEmptyParas]-->
ODBC<!--[endif]-->
ODBC 技術為訪問不同的SQL 資料庫提供了一個共同的介面。ODBC 使用 SQL 作為訪問數據的標准。這一介面提供了最大限度的互操作性:一個應用程序可以通過共同的一組代碼訪問不同的 SQL 資料庫管理系統 (DBMS)。開發人員可以添加資料庫驅動程序,將應用程序與用戶所選的 DBMS 聯系起來。驅動程序管理器提供應用程序與資料庫之間的中間鏈接。ODBC 介麵包含一系列功能,由每個 DBMS 的驅動程序實現。當應用程序改變它的 DBMS 時,開發人員只使用新的 DBMS 驅動程序替代舊的驅動程序,並且應用程序可以無需修改代碼照常運行。
<!--[if !supportEmptyParas]-->
標准 ODBC 結構的關系圖如下:
DAO & RDO
DAO 是建立在 Microsoft Jet Microsoft Access 的資料庫引擎基礎之上的。Jet 是第一個連接到 Access 的面向對象的介面。使用 Access 的應用程序可以用 DAO 直接訪問資料庫。由於 DAO 是嚴格按照 Access 建模的,因此,使用 DAO 是連接 Access 資料庫最快速、最有效的方法。DAO 也可以連接到非 Access 資料庫,例如,SQL Server 和 Oracle。DAO 使用 ODBC,但是由於 DAO 是專門設計用來與 Jet 引擎對話的,Jet 將解釋 DAO 和 ODBC 之間的調用。使用除 Access 之外的資料庫時,這種額外的解釋步驟導致較慢的連接速度。如下圖所示:
<!--[if !supportEmptyParas]--> <!--[endif]-->
要克服這樣的限制,Microsoft 創建了 RDO。圖 Application1 顯示了 RDO 如何直接訪問 ODBC API,而無需通過 Jet 引擎。不久之後,Microsoft 推出了 ODBCDirect,它是 DAO 的擴展,在後台使用 RDO。圖 Application2 顯示 ODBCDirect 如何允許現有的 DAO 應用程序訪問資料庫,而沒有 Jet 引擎產生的性能損失。
OLE DB
OLE DB 建立於 ODBC 之上,並將此技術擴展為提供更高級數據訪問介面的組件結構。此結構對企業中及 Internet 上的 SQL、非 SQL 和非結構化數據源提供一致的訪問。(實際上,在訪問基於 SQL 的數據時,OLE DB 仍使用 ODBC,因為對於 SQL 它是最優結構。)
OLE DB 由三個組件構成:數據使用者(例如,一個應用程序);包含並公開數據的數據提供程序以及處理並傳輸數據的服務組件(例如,查詢處理器、游標引擎)。OLE DB 是一個針對 SQL 數據源和非 SQL 數據源(例如,郵件和目錄)進行操作的 API。如下圖所示:
OLE DB 為 C 和 C++ 程序員及使用其他包含 C 樣式函數調用語言的程序員提供綁定。有一些語言(例如 VB 和 VBScript)不提供指針數據類型(地址變數)。因此,這些語言不能使用 C 樣式綁定,而且不能直接調用 OLE DB。<!--[if !supportEmptyParas]--> <!--[endif]-->
在此基礎上,Microsoft 推出了另一個數據訪問對象模型:ADO。ADO 採用基於 DAO 和 RDO 的對象,並提供比 DAO 和 RDO 更簡單的對象模型(盡管會產生一些冗餘的功能,如現在進行一項操作時可以用不止一種方法)。ADO 中的對象層次結構比 DAO 中的更平緩。ADO 包含一些簡化對數據存儲區數據的訪問任務的內置對象。
<!--[if !supportEmptyParas]-->
下圖顯示了應用程序連接到資料庫可採取的許多途徑。例如,VB 程序員可以使用 ADO 將應用程序連接到 OLE DB 提供程序。如果資料庫不支持 OLE DB,應用程序可以通過 ODBC 連接。Visual C++ (VC++) 程序員可以使用 ADO 或直接通過 OLE DB 連接。
讓我們看一個簡單示例,它顯示 ADO 是如何運行的。清單 1 顯示可如何使用典型的記錄集對象--ADO 中的核心對象。記錄集對象表示一系列記錄(很像一個表),並支持游標類型,例如,adOpenForwardOnly、adOpenKeyset、adOpenDynamic 和 adOpenStatic。游標可以在伺服器端(默認情況下),也可在客戶端。<!--[if !supportEmptyParas]--> <!--[endif]-->
清單 1
<!--#include file="adovbs.inc"-->
<%
Dim connStr, rs
connStr = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=localhost"
SET rs= Server.CreateObject("ADODB.Recordset")
<!--[if !supportEmptyParas]-->rs.Open "Authors", connStr, adOpenForwardOnly, adLockOptimistic, adCmdTable
WHILE NOT rs.EOF
response.write rs("au_fname") & "," & rs("au_lname") & "<br>"
rs.moveNext
END
SET rs=nothing
%>
<!--[if !supportEmptyParas]-->
要訪問一條記錄,ADO 需要按順序掃描記錄集。要訪問多個表,需要執行 JOIN 查詢,並將返回的結果作為記錄集。雖然記錄集對象支持斷開的數據訪問,ADO 還是主要為連接的數據訪問而設計。這種連接的訪問模式佔用伺服器端的重要資源。另外,要傳輸記錄集,必須使用 COM 封送處理。COM 封送處理是數據類型轉換過程,這種轉換佔用額外的系統資源。<!--[if !supportEmptyParas]--> <!--[endif]-->
從 ADO 2.1 開始,Microsoft 將 XML 支持添加到 ADO 對象模型,這樣就可將記錄集保存為 XML 文檔。然而,直到 ADO 2.5 出現,ADO 2.1 中 XML 支持的一些限制(例如,分層記錄集對象的保持)才被取消。雖然 ADO 可以將 XML 文檔讀入記錄集,但它只能讀取名為高級數據表圖 (Advanced Data TableGram, ADTG) 的專用架構。<!--[if !supportEmptyParas]--> <!--[endif]-->
Microsoft 希望擁有斷開的數據訪問機制,它擴展了 ADO 並推出遠程數據服務 (RDS)。RDS 是按照 ADO 建模的,無需實時連接就可以使記錄集傳輸到客戶端(例如,Web 瀏覽器)。然而,如同 ADO 一樣,RDS 使用 COM 封送處理將記錄集從伺服器傳輸到客戶端。
『柒』 資料庫訪問技術
隨著資料庫產品和技術的發展,資料庫訪問技術也從ODBC、DAO、RDO、OLE DB、ADO 和 RDS發展到今天的ADO.NET。以下內容由城市刀客整理編輯,旨在為你展示資料庫訪問技術的概貌。
<!--[if !supportEmptyParas]-->
ODBC<!--[endif]-->
ODBC 技術為訪問不同的SQL 資料庫提供了一個共同的介面。ODBC 使用 SQL 作為訪問數據的標准。這一介面提供了最大限度的互操作性:一個應用程序可以通過共同的一組代碼訪問不同的 SQL 資料庫管理系統 (DBMS)。開發人員可以添加資料庫驅動程序,將應用程序與用戶所選的 DBMS 聯系起來。驅動程序管理器提供應用程序與資料庫之間的中間鏈接。ODBC 介麵包含一系列功能,由每個 DBMS 的驅動程序實現。當應用程序改變它的 DBMS 時,開發人員只使用新的 DBMS 驅動程序替代舊的驅動程序,並且應用程序可以無需修改代碼照常運行。
<!--[if !supportEmptyParas]-->
標准 ODBC 結構的關系圖如下:
DAO & RDO
DAO 是建立在 Microsoft Jet Microsoft Access 的資料庫引擎基礎之上的。Jet 是第一個連接到 Access 的面向對象的介面。使用 Access 的應用程序可以用 DAO 直接訪問資料庫。由於 DAO 是嚴格按照 Access 建模的,因此,使用 DAO 是連接 Access 資料庫最快速、最有效的方法。DAO 也可以連接到非 Access 資料庫,例如,SQL Server 和 Oracle。DAO 使用 ODBC,但是由於 DAO 是專門設計用來與 Jet 引擎對話的,Jet 將解釋 DAO 和 ODBC 之間的調用。使用除 Access 之外的資料庫時,這種額外的解釋步驟導致較慢的連接速度。如下圖所示:
<!--[if !supportEmptyParas]--> <!--[endif]-->
要克服這樣的限制,Microsoft 創建了 RDO。圖 Application1 顯示了 RDO 如何直接訪問 ODBC API,而無需通過 Jet 引擎。不久之後,Microsoft 推出了 ODBCDirect,它是 DAO 的擴展,在後台使用 RDO。圖 Application2 顯示 ODBCDirect 如何允許現有的 DAO 應用程序訪問資料庫,而沒有 Jet 引擎產生的性能損失。
OLE DB
OLE DB 建立於 ODBC 之上,並將此技術擴展為提供更高級數據訪問介面的組件結構。此結構對企業中及 Internet 上的 SQL、非 SQL 和非結構化數據源提供一致的訪問。(實際上,在訪問基於 SQL 的數據時,OLE DB 仍使用 ODBC,因為對於 SQL 它是最優結構。)
OLE DB 由三個組件構成:數據使用者(例如,一個應用程序);包含並公開數據的數據提供程序以及處理並傳輸數據的服務組件(例如,查詢處理器、游標引擎)。OLE DB 是一個針對 SQL 數據源和非 SQL 數據源(例如,郵件和目錄)進行操作的 API。如下圖所示:
OLE DB 為 C 和 C++ 程序員及使用其他包含 C 樣式函數調用語言的程序員提供綁定。有一些語言(例如 VB 和 VBScript)不提供指針數據類型(地址變數)。因此,這些語言不能使用 C 樣式綁定,而且不能直接調用 OLE DB。<!--[if !supportEmptyParas]--> <!--[endif]-->
在此基礎上,Microsoft 推出了另一個數據訪問對象模型:ADO。ADO 採用基於 DAO 和 RDO 的對象,並提供比 DAO 和 RDO 更簡單的對象模型(盡管會產生一些冗餘的功能,如現在進行一項操作時可以用不止一種方法)。ADO 中的對象層次結構比 DAO 中的更平緩。ADO 包含一些簡化對數據存儲區數據的訪問任務的內置對象。
<!--[if !supportEmptyParas]-->
下圖顯示了應用程序連接到資料庫可採取的許多途徑。例如,VB 程序員可以使用 ADO 將應用程序連接到 OLE DB 提供程序。如果資料庫不支持 OLE DB,應用程序可以通過 ODBC 連接。Visual C++ (VC++) 程序員可以使用 ADO 或直接通過 OLE DB 連接。
讓我們看一個簡單示例,它顯示 ADO 是如何運行的。清單 1 顯示可如何使用典型的記錄集對象--ADO 中的核心對象。記錄集對象表示一系列記錄(很像一個表),並支持游標類型,例如,adOpenForwardOnly、adOpenKeyset、adOpenDynamic 和 adOpenStatic。游標可以在伺服器端(默認情況下),也可在客戶端。<!--[if !supportEmptyParas]--> <!--[endif]-->
清單 1
<!--#include file="adovbs.inc"-->
<%
Dim connStr, rs
connStr = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=localhost"
SET rs= Server.CreateObject("ADODB.Recordset")
<!--[if !supportEmptyParas]-->rs.Open "Authors", connStr, adOpenForwardOnly, adLockOptimistic, adCmdTable
WHILE NOT rs.EOF
response.write rs("au_fname") & "," & rs("au_lname") & "<br>"
rs.moveNext
END
SET rs=nothing
%>
<!--[if !supportEmptyParas]-->
要訪問一條記錄,ADO 需要按順序掃描記錄集。要訪問多個表,需要執行 JOIN 查詢,並將返回的結果作為記錄集。雖然記錄集對象支持斷開的數據訪問,ADO 還是主要為連接的數據訪問而設計。這種連接的訪問模式佔用伺服器端的重要資源。另外,要傳輸記錄集,必須使用 COM 封送處理。COM 封送處理是數據類型轉換過程,這種轉換佔用額外的系統資源。<!--[if !supportEmptyParas]--> <!--[endif]-->
從 ADO 2.1 開始,Microsoft 將 XML 支持添加到 ADO 對象模型,這樣就可將記錄集保存為 XML 文檔。然而,直到 ADO 2.5 出現,ADO 2.1 中 XML 支持的一些限制(例如,分層記錄集對象的保持)才被取消。雖然 ADO 可以將 XML 文檔讀入記錄集,但它只能讀取名為高級數據表圖 (Advanced Data TableGram, ADTG) 的專用架構。<!--[if !supportEmptyParas]--> <!--[endif]-->
Microsoft 希望擁有斷開的數據訪問機制,它擴展了 ADO 並推出遠程數據服務 (RDS)。RDS 是按照 ADO 建模的,無需實時連接就可以使記錄集傳輸到客戶端(例如,Web 瀏覽器)。然而,如同 ADO 一樣,RDS 使用 COM 封送處理將記錄集從伺服器傳輸到客戶端。
ADO.NET
在開始設計 .NET 框架時,Microsoft 就以此為契機重新設計了數據訪問模型。Microsoft 沒有進一步擴展 ADO,而是決定設計一個新的數據訪問框架,但保留了縮寫詞。Microsoft 根據其成功的 ADO 對象模型經驗設計了 ADO.NET。但 ADO.NET 滿足了 ADO 無法滿足的三個重要需求:提供了斷開的數據訪問模型,這對 Web 環境至關重要;提供了與 XML 的緊密集成;還提供了與 .NET 框架的無縫集成(例如,兼容基類庫類型系統)。
下圖顯示了 ADO.NET 的結構。但缺少了能夠在 ADO 中執行諸多功能的記錄集對象。ADO.NET 具有幾個專用對象以執行特定任務,用於代替記錄集對象。表 1 描述了其中的三個專用對象:DataAdapter、DataReader 和 Dataset。
表一:
DataAdapter The DataAdapter object provides a bridge between the database and a DataSet. The key advantage of DataAdapter is that it can work with any data source. The data source might be a database or it might be an XML document.
//DataAdapter提供了一個資料庫與DataSet之間的橋梁。它最大的優點在於能工作於不同的數據源,這些數據源可以是資料庫,也可以是 XML文件。
DataReader The DataReader object provides an efficient way to retrieve records on the server side. DataReader is a connected, read-only, and forward-only data-access mode. This object is useful for Web applications, which use DataReader to display records on Web pages.
//DataReader對象提供了從伺服器端高效獲取數據的途徑,它是在只讀和只進的連接模式下從數據源讀取數據的,這個對象對通過網頁展示數據記錄的Web應用程序開發很有用。
DataSet The DataSet object provides disconnected copies of records from a database. The DataSet object stores records from a table (or multiple tables) in memory without holding a connection to the server. When in memory, DataSet is a binary object. When the DataSet is remoted, transferred, or serialized, it''s represented as a DiffGram—an XML format. Because XML is plaintext, records can be exchanged easily over the Web, bypassing firewall restrictions(限制性). DataSet also contains various objects—such as constraints(壓縮), relationships, and views—that let you manipulate(操作) tables on the client side instead of working through one Recordset in ADO.
//DataSet對象在斷開資料庫連接的情況下提供了一個資料庫內容的拷貝,它把記錄從表中取出,以二進制對象的形式存放在內存中。當Dataset被調用的時候,它表現為DiffGram--一種XML格式。
『捌』 ado.net數據訪問技術的意義是什麼
這個問題好像有點問題
如果沒有ado.net,那麼c#代碼如何訪問資料庫呢,可以使用ado,
在ado。net中引入了DataSet,即強類型的數據集,而ado中使用的是結果集,ResultSet
『玖』 ado.net是什麼意思
ADO.NET是一組用於和數據源進行交互的面向對象類庫。通常情況下,數據源是資料庫,但它同樣也能夠是文本文件、Excel表格或者XML文件。 ADO.NET允許和不同類型的數據源以及資料庫進行交互。然而並沒有與此相關的一系列類來完成這樣的工作。因為不同的數據源採用不同的協議,所以對於不同的數據源必須採用相應的協議。一些老式的數據源使用ODBC協議,許多新的數據源使用OleDb協議,並且現在還不斷出現更多的數據源,這些數據源都可以通過.NET的ADO.NET類庫來進行連接。
簡單的說,這是說怎麼樣和資料庫交互(增 刪 改 查),
我是從「上海全鼎軟體學院」畢業的————————
『拾』 ADO、ADODB、ADO.NET、ODBC
這是資料庫引擎。
每種資料庫的數據格式,內部實現機制都是不同的,要利用一種開發工具訪問一種資料庫,就必須通過一種中介程序,這種開發工具與資料庫之間的中介程序就叫資料庫引擎。
ODBC(Open DataBase Connectivity)開放資料庫互聯。是由微軟主導的資料庫鏈接標准。
MFC(Microsoft Foundation Class)微軟基礎類。MFC ODBC是對ODBC的封裝。
DAO(Data Access Object)數據訪問對象。不提供遠程訪問功能。
RDO(Remote Data Object)遠程數據對象。速度快,支持SQL Server存儲過程。
OLE-DB(Object Linking and Embedding DataBase)對象鏈接和嵌入資料庫。它依賴於COM和提供OLE DB提供者的廠商而非ODBC使用的SQL。
ADO(ActiveX Data Object)ActiveX數據對象。基於OLE-DB建立連接的局部和遠程資料庫訪問技術。
訪問介面 易用性 運行性能 可擴展性 突出特點 能否訪問非關系數據源 技術層次
ODBC 差 較高 差 可進行底層控制 否 底層
MFC ODBC 好 較高 一般 通用標准, 應用廣泛 否 高層
MFC DAO 好 較高 一般 訪問JET性能最好 能 高層
OLE DB 較難 高 好 可訪問非關系DB 能 底層
ADO 最好 高 好 可訪問非關系,有多種編程介面 能 高層