成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡單介紹C# SQL Server

開發 后端
本文介紹C# SQL Server2000對事務提供了很好的支持。我們可以使用SQL語句來定義、提交以及回滾一個事務。

體驗SQL語言的事務機制

作為大型的企業級數據庫,C# SQL Server2000對事務提供了很好的支持。我們可以使用SQL語句來定義、提交以及回滾一個事務。

如下所示的SQL代碼定義了一個事務,并且命名為"MyTransaction

這里用到了C# SQL Server2000自帶的示例數據庫pubs,提交事務后,將為所有暢銷計算機書籍支付的版稅增加 10%。

打開C# SQL Server2000的查詢分析器,選擇pubs數據庫,然后運行這段程序,結果顯而易見。

可是如何在C#程序中運行呢?我們記得在普通的SQL查詢中,一般需要把查詢語句賦值給SalCommand.CommandText屬性,這里也就像普通的SQL查詢語句一樣,將這些語句賦給SqlCommand.CommandText屬性即可。要注意的一點是,其中的"GO"語句標志著SQL批處理的結束,編寫SQL腳本是需要的,但是在這里是不必要的。我們可以編寫如下的程序來驗證這個想法:

  1. //TranSql.csusingSystem;  
  2. usingSystem.Data;  
  3. usingSystem.Data.SqlClient;  
  4. namespaceAspcn  
  5. {  
  6. publicclassDbTranSql  
  7. {  
  8. file://將事務放到SQLServer中執行  
  9. publicvoidDoTran()  
  10. {  
  11. file://建立連接并打開  
  12. SqlConnectionmyConn=GetConn();myConn.Open();  
  13. SqlCommandmyComm=newSqlCommand();  
  14. try  
  15. {  
  16. myComm.Connection=myConn;  
  17. myComm.CommandText="DECLARE@TranNameVARCHAR(20)";  
  18. myComm.CommandText+="SELECT@TranName='MyTransaction'";  
  19. myComm.CommandText+="BEGINTRANSACTION@TranName";  
  20. myComm.CommandText+="USEpubs";  
  21. myComm.CommandText+="UPDATEroyschedSETroyalty=royalty*1.10WHEREtitle_idLIKE'Pc%'";  
  22. myComm.CommandText+="COMMITTRANSACTIONMyTransaction";  
  23. myComm.ExecuteNonQuery();  
  24. }  
  25. catch(Exceptionerr)  
  26. {  
  27. thrownewApplicationException("事務操作出錯,系統信息:"+err.Message);  
  28. }  
  29. finally  
  30. {  
  31. myConn.Close();  
  32. }  
  33. }  
  34. file://獲取數據連接  
  35. privateSqlConnectionGetConn()  
  36. {  
  37. stringstrSql="DataSource=localhost;IntegratedSecurity=SSPI;userid=sa;password=";  
  38. SqlConnectionmyConn=newSqlConnection(strSql);  
  39. returnmyConn;  
  40. }  
  41. }  
  42.  
  43. publicclassTest  
  44. {  
  45. publicstaticvoidMain()  
  46. {  
  47. DbTranSqltranTest=newDbTranSql();  
  48. tranTest.DoTran();  
  49. Console.WriteLine("事務處理已經成功完成。");  
  50. Console.ReadLine();  
  51. }  
  52. }  

注意到其中的SqlCommand對象myComm,它的CommandText屬性僅僅是前面SQL代碼字符串連接起來即可,當然,其中的"GO"語句已經全部去掉了。這個語句就像普通的查詢一樣,程序將SQL文本事實上提交給DBMS去處理了,然后接收返回的結果(如果有結果返回的話)。

很自然,我們最后看到了輸出"事務處理已經成功完成",再用企業管理器查看pubs數據庫的roysched表,所有title_id字段以"PC"開頭的書籍的royalty字段的值都增加了0.1倍。

這里,我們并沒有使用ADO.net的事務處理機制,而是簡單地將執行事務的SQL語句當作普通的查詢來執行,因此,事實上該事務完全沒有用到.net的相關特性。
了解.net中的事務機制

如你所知,在.net框架中主要有兩個命名空間(namespace)用于應用程序同數據庫系統的交互:System.Data.SqlClient和System.Data.OleDb。前者專門用于連接Microsoft公司自己的SQL Server數據庫,而后者可以適應多種不同的數據庫。這兩個命名空間中都包含有專門用于管理數據庫事務的類,分別是System.Data.SqlClient.SqlTranscation類和System.Data.OleDb.OleDbTranscation類。

就像它們的名字一樣,這兩個類大部分功能是一樣的,二者之間的主要差別在于它們的連接機制,前者提供一組直接調用C# SQL Server 的對象,而后者使用本機 OLE DB 啟用數據訪問。 事實上,ADO.net 事務完全在數據庫的內部處理,且不受 Microsoft 分布式事務處理協調器 (DTC) 或任何其他事務性機制的支持。本文將主要介紹System.Data.SqlClient.SqlTranscation類,下面的段落中,除了特別注明,都將使用System.Data.SqlClient.SqlTranscation類。

【編輯推薦】

  1. 分析C#不安全代碼
  2. 淺析C#調用ImageAnimator
  3. C#連接Access、SQL Server數據庫
  4. 淺談C#固定的和活動的變量
  5. 介紹C#中的值類型
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-17 18:30:29

C# SQL Serv

2009-08-24 15:41:50

C#連接SQL Ser

2009-08-14 17:27:56

C#方法參數

2009-08-21 17:55:52

C#復合控件

2009-08-07 17:41:40

C#預處理

2009-08-27 10:19:22

C#匿名類型

2009-08-06 14:53:41

C# User類

2009-08-18 17:37:57

C#固定指針

2009-08-10 16:19:37

C#冒泡排序

2009-08-13 17:36:54

編譯C#代碼

2009-09-01 16:19:57

C# new()約束

2009-09-03 09:40:57

C#創建表單

2009-08-20 16:25:59

C# 匿名方法

2009-08-25 13:38:35

C# Timer組件

2009-08-07 17:12:07

C# DLL函數

2009-08-03 17:51:43

C#引用類型

2009-08-14 16:46:44

C#元數據

2009-08-25 14:42:41

由C++轉向C#

2009-08-07 09:29:22

C#數組C#函數

2009-08-24 17:58:19

C#讀取XML文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 九九精品在线 | 最新国产精品精品视频 | 国产精品日韩欧美一区二区三区 | 看一级毛片视频 | 国产三级一区二区三区 | 在线免费观看日本视频 | 91麻豆精品国产91久久久更新资源速度超快 | 国产精品一区二区av | 艹逼网 | 成人影院在线视频 | 二区在线视频 | 黑人巨大精品 | 亚洲精品国产第一综合99久久 | 亚洲一区二区高清 | 欧美亚洲另类在线 | 天天综合久久 | 欧美一区视频 | 亚洲欧美日韩一区 | 精品久久久久久久久久久院品网 | 精品久久99 | 成人美女免费网站视频 | 国产精品免费在线 | 99re在线视频免费观看 | 国产一区二区三区视频 | 欧美 日韩 国产 成人 | 黄色av大片| 亚洲欧美中文日韩在线v日本 | 午夜精品久久久久久久久久久久 | a视频在线 | 91久久久久久久 | 日韩一区二区三区av | 超碰一区二区 | 中文字幕的av | 天天色天天 | 成人免费视频网站在线看 | 91在线第一页 | 日韩av免费在线电影 | 国产精品黄视频 | 国产免费一区二区 | 亚洲精品专区 | 国产一区在线免费观看视频 |