日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析ADO.NET的相關(guān)知識

ADO.NET在處理數(shù)據(jù)時,可分為連接式與斷開式

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的新巴爾虎左網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

ADO.NET涉及到的主要對象:

連接對象:Connection

命令對象:Command

數(shù)據(jù)讀取器對象:DataReader

數(shù)據(jù)適配器對象:DataAdapter

數(shù)據(jù)集對象: DataSet

下面是一個簡單的ADO.NET連接式訪問數(shù)據(jù)庫的代碼

 
 
 
  1. private static void ReadOrderData(string connectionString)  
  2. {  
  3.     string queryString =  
  4.         "SELECT OrderID, CustomerID FROM dbo.Orders;";  
  5. //此處使用using來自動釋放connection  
  6.     using (SqlConnection connection =  
  7.                new SqlConnection(connectionString))  
  8.     {  
  9.         SqlCommand command =  
  10.             new SqlCommand(queryString, connection);  
  11.         connection.Open();  
  12.  
  13.         SqlDataReader reader = command.ExecuteReader();  
  14.  
  15.         // SqlDataReader 的默認(rèn)位置在***條記錄前面。因此,必須調(diào)用 Read 來開始訪問任何數(shù)據(jù)  
  16.         while (reader.Read())  
  17.         {  
  18.             Console.WriteLine(String.Format("{0}, {1}",  
  19.                 reader[0], reader[1]));  
  20.         }  
  21.  
  22.         // 關(guān)閉reader  
  23.         reader.Close();  
  24. //對于SqlConnection的MARS模式關(guān)閉的情況下,一次只能打開一個 SqlDataReader,在***個關(guān)閉之前,打開另一個的任何嘗試都將失敗。另外,在reader不關(guān)閉之前,相同的command.ExecuteReader();將會失敗(無論是否為MARS)  
  25.     }  

接下來對上面這段代碼做一些說明:

代碼:

 
 
 
  1. Console.WriteLine(String.Format("{0}, {1}",  
  2.                reader[0], reader[1]));  

使用了reader的索引器,

索引器調(diào)用所的方法如下:

 
 
 
  1. override public object this[int i] {  
  2.             get {  
  3.                 return GetValue(i);  
  4.             }  
  5.         }  
  6.    
  7.         override public object this[string name] {  
  8.             get {  
  9.                 return GetValue(GetOrdinal(name));  
  10.             }  
  11.         } 

 (二)關(guān)于command的一些方法的說明

ExecuteNonQuery 對連接執(zhí)行 Transact-SQL 語句并返回受影響的行數(shù)。 (重寫 DbCommand..::.ExecuteNonQuery()()()。)

ExecuteReader 已重載。 將 CommandText 發(fā)送到 Connection 并生成一個 SqlDataReader。 

ExecuteScalar 執(zhí)行查詢,并返回查詢所返回的結(jié)果集中***行的***列。忽略其他列或行。 (重寫

DbCommand..::.ExecuteScalar()()()。)

ExecuteXmlReader 將 CommandText 發(fā)送到 Connection 并生成一個 XmlReader 對象。 

(三)關(guān)于connectionstring

以下是常用的幾種connectionstring

 
 
 
  1. //基本  
  2. string baseconnstr="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword";  
  3.  
  4.  
  5. //MARS  
  6. string marsconnstr="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;" 
  7.                     +"MultipleActiveResultSets=true"  
  8.  
  9.  
  10. //在app_data文件夾中的sqlexpress.mdf  
  11.  
  12. string mdfDataDir="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;" 
  13.  
  14.  
  15. //使用SQL集群故障轉(zhuǎn)移  
  16. string mirrorconnstr="Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;Initial Catalog=myDataBase;Integrated Security=True;" 
  17.  
  18. //異步  
  19. string asynconnstr="Server=myServerAddress;Database=myDataBase;Integrated Security=True;Asynchronous Processing=True;" 

MARS中,其實(shí)ADO.NET是對未關(guān)閉的sqlcommand掛起.所以datareader只能使用其各自的command實(shí)例.


當(dāng)前名稱:淺析ADO.NET的相關(guān)知識
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/djgophd.html