ADO.NET 核心對象簡介

ADO.NET

?

ADO.NET是.NET中一組用于和數據源進行交互的面向對象類庫,提供了數據訪問的高層接口。

ADO.NET類庫在System.Data命名空間內,根據我們訪問的不同數據庫選擇命名空間,System.Data.SqlClient。

ADO.NET類最重要的優點是支持數據庫以斷開連接的方式工作。

ADO.NET主要通過兩個核心組件來完成對數據庫的操作,分別是DataSet和.NET數據庫提供程序。數據集,在命令空間:System.Data下。

前者是ADO.NET斷開式結構的核心組件,后者是專門為直接訪問數據庫,對其進行快速的只進,只讀訪問數據等數據處理而設計的組件。

ADO.NET常用對象:


Connection  連接數據庫的通道

Command  命令執行對象

DataReader  數據讀取器(只讀只進)

DataAdapter  數據適配器

DateSet  數據在內存中的表現形式,臨時數據庫,斷開式操作。

?

SqlConnection conn = new SqlConnection();  //創建Connection連接數據庫對象

conn.ConnectionString = "data sourse=.;initalial catalog=MySchool;integrated security=true;"  //連接字符串

?

SqlCommand cmd = new SqlCommand();  //創建Command命令執行對象

cmd.CommandText = "SELECT * FROM dbo.Student";  //SQL語句

cmd.Connection = conn;  //綁定連接

cmd.CommandType = CommandType.Text;  //它告訴.net接下來執行的是一個文本(text)、存儲過程(StoredProcedure)還是表名稱(TableDirect).

?

//傳參sql語句

cmd.CommandText = "SELECT * FROM dbo.Student where UesrID=@ID";  //SQL語句

SqlParameter??para=new?SqlParameter("@ID",SqlDbType.int,4);  //生成一個名為@Id的參數,必須以@開頭表示是添加的參數,并設置其類型長度,類型,長度。與數據庫中對應字段相同

para.Value=Id;  //給參數賦值

cmd.Parameters.Add(para);  //必須把參數變量添加到命令對象中去。

?

?

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

?

int i = Covert.ToInt32(cmd.Executescalar())  //返回結果集中第一行的第一列,一般用于返回單個結果(一行一列)的時候使用,值有可能返回null。

?

int i = Covert.ToInt32(cmd.ExecuteNonQuery())  //返回受影響的行數,一般用于 增刪改 語句。執行其他語句默認返回-1。

?

SqlDataReader reader= cmd.ExecuteReader();  //執行命令,返回DataReader對象

if(reader.HasRows)  //判斷是否有結果返回

while (reader.Read())  //循環讀取
{

//do something

}

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

reader.Close();  //關閉reader

?

SqlDataAdapter sda = new SqlDataAdapter(sql語句,conn)  //創建對象

DataSet ds = new Dataset()

sda.fill(ds."表名")

?

?

SqlParameter??para=new?SqlParameter("@Id",SqlDbType.int,4);  //生成一個名字為@Id的參數,必須以@開頭表示是添加的參數,并設置其類型長度,類型長度與數據庫中對應字段相同

para.Value=Id;  //給參數賦值

cmd.Parameters.Add(para);  //把參數變量添加到命令對象中去。

?

一次添加多個參數

SqlParameter[]? para=new?SqlParameter[] {new?SqlParameter("@Id",SqlDbType.int,4){value = xxx},new?SqlParameter("@Id",SqlDbType.int,4){value = xxx}};

cmd.Parameters.AddRange(para);

轉載于:https://www.cnblogs.com/Aaxuan/p/6126414.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373365.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373365.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373365.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MongoDB與Spring Data項目

如今,我們所有人都在觀察NoSql解決方案的爆炸式增長。 我已經習慣了RDBMS,但這些并不是您可能遇到的所有挑戰的解決方案。 根據最近的經驗,我有機會使用MongoDB –文檔數據庫。 在本文中,我打算介紹將MongoDB與Spring Data項目一起…

java轉換為字符串_java – 如何從int轉換為字符串?

正常方式是Integer.toString(i)或String.valueOf(i)。串聯將工作,但它是非常規的,可能是一個難聞的氣味,因為它暗示作者不知道上述兩種方法(他們不知道什么?)。Java在使用字符串(見the documentation)時對操作符提供了特殊的支持&…

簡學LINGO(三)——實例篇

1. 裝配線平衡模型 一個裝配線含有一系列的工作站。在終于產品的加工過程中每一個工作站運行一種或者是幾種特定的任務。裝配線周期是指全部工作站完畢分配給他們各自任務所花費時間的最大值。平衡裝配線的目標是為每一個工作站分配加工任務。盡可能使每一個工作站運行同樣數量…

Hibernate緩存級別教程

開始使用Hibernate的人們常見的問題之一就是性能,如果您沒有太多的Hibernate經驗,您會發現應用程序變慢的速度。 如果啟用sql跟蹤,您將看到有多少查詢被發送到數據庫,而這些查詢幾乎不需要Hibernate知識就可以避免。 在當前文章中…

java方法執行的時間_計算Java中任意一個方法的執行時間的工具類

1 packagealgorithm.study.utils;23 importjava.lang.reflect.Method;45 /**6 * This class is getting a method execute time and provide some other functions.7 *8 *authorygh 2017年2月24日9 */10 public classMethodExecuteTimeUtils {1112 /**13 * Get a method execut…

如何在 IIS 中設置 HTTPS 服務

Windows Server2008、IIS7啟用CA認證及證書制作完整過程 這篇文章介紹了如何安裝證書申請工具; 如何在iis創建證書申請; 如何使用iis申請證書生成的txt文件,在工具中開始申請證書; 如何導出證書; 以及在網站中開始使用…

Android之衛星菜單的實現

衛星菜單是現在一個非常受歡迎的“控件”,很多Android程序員都趨之若鶩,預覽如下圖。傳統的衛星菜單是用Animation實現的,需要大量的代碼,而且算法極多,一不小心就要通宵Debug。本帖貼出用屬性動畫Animator來實現衛星菜…

Java中的WADL:溫和的介紹

WADL( Web應用程序描述語言 )對REST而言,WSDL對SOAP而言。 這種語言的僅僅存在引起了很多爭議(請參閱: 我們需要WADL嗎? 或者 需要 WADL還是不需要WADL )。 我可以想到使用WADL的一些合法用例&a…

類成員函數模板特化

//類成員函數模板特化 #include <stdio.h> class A{ public:template <class T>void Print(){printf("A template\n");} };template<> void A::Print<int>(){printf("int\n"); }int main(){A a;a.Print<double>();a.Print&l…

為云量身定制您的服務

相信大家都聽說過Amazon的AWS。作為業內最為成熟的云服務提供商&#xff0c;其運行規模&#xff0c;穩定性&#xff0c;安全性都已經經過了市場的考驗。時至今日&#xff0c;越來越多的應用被部署在了AWS之上。這其中不乏Zynga及Netflix這樣著名的服務。 然而這一切并沒有停滯不…

在Vaadin和JSF之間選擇

隨著最新版本的Primefaces 3.0的發布&#xff0c;JSF終于達到了前所未有的成熟度和實用性&#xff0c;使其與其他流行的Rich Internet Applications&#xff08;RIA&#xff09;選項如Google Web Toolkit&#xff08;GWT&#xff09;&#xff0c;ExtJS&#xff0c;Vaadin&#…

20145202馬超《信息安全系統設計基礎》實驗二總結

[實驗二]&#xff08;http://www.cnblogs.com/nizaikanwoma/p/6131778.html&#xff09; 轉載于:https://www.cnblogs.com/tuolemi/p/6131987.html

java 連接ldap_ldap java 連接demo

public class LDAPHelper {/*** LDAP可以理解為一個多級目錄&#xff0c;這里&#xff0c;表示要連接到那個具體的目錄*/private final String baseDn "ouPeople,dcchangyeyi,dccom";private LdapContext ctx null;private final Control[] connCtls null;private…

flask開發restful api系列(1)

在此之前&#xff0c;向大家說明的是&#xff0c;我們整個框架用的是flask sqlalchemy redis。如果沒有開發過web&#xff0c;還是先去學習一下&#xff0c;這邊只是介紹如果從開發web轉換到開發移動端。如果flask還不是很熟悉&#xff0c;我建議先到這個網站簡單學習一下&am…

Apache Commons Lang StringUtils

因此&#xff0c;認為最好談論我喜歡的另一個Java庫。 它已經存在了一段時間&#xff0c;也許不是最令人興奮的庫&#xff0c;但是它非常有用。 我可能每天都使用它。 org.apache.commons.lang.StringUtils StringUtils是Apache Commons Lang&#xff08; http://commons.apac…

JEE7:展望新時代

計劃于2012年下半年發布的Java EE 7預計的JSR都已啟動并正在運行。 Java EE 7發行版是日期驅動的&#xff0c;它將反映該行業遷移到云中時不斷變化的需求&#xff1a;任何未準備就緒的內容將推遲到Java EE 8中使用 。 這是Java EE 7平臺中不同規范的關鍵功能的更新和摘要。 1。…

Cocos2d-JS項目之UI界面的優化

測試環境&#xff1a; iphone4、iOS6.1.2、chrome 37.2062.60&#xff0c;Cocos2d-js 3.6 之前寫了不少&#xff0c;實際項目也按這個去優化了&#xff0c;也有效果&#xff0c;但到最后才發現&#xff0c;尼瑪&#xff0c;之前都搞錯了&#xff0c;之所以有效果是歪打正著。。…

java數_java大數

java大數還是很好用的&#xff01;基本加入&#xff1a;import java.math.BigInteger;import jave.math.BigDecimal;分別是大數和大浮點數。首先讀入可以用&#xff1a;Scanner input new Scanner(System.in);BigInteger a input.nextBigInteger();這樣讀還是很方便的當然還有…

【Qt之Quick模塊】6. QML語法詳解_2類型系統

描述 在QML文檔中對象層次結構的定義中可能使用的類型可以來自各種來源。它們可能是: 由QML語言原生提供通過QML模塊通過c注冊由QML模塊作為QML文檔提供 此外&#xff0c;應用程序開發人員可以通過直接注冊c類型&#xff0c;或者通過在QML文檔中定義可重用的組件(然后可以導…

JS顯示當前時間(包含農歷時間)

時間格式&#xff1a; JavaScript代碼&#xff1a; var sWeek new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");var dNow new Date();var CalendarData new Arra…