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

詳談如何在VB.NET使用ORACLR數據庫事務

開發 后端
文章主要教你在VB.NET使用Oracle數據庫事務,有詳細的9大步驟,代碼的分析和錯誤的原因以及運行的結果。總之看了以后一定會使用oracle。

大家都知道VB.NET,oracle,但是如何在VB.NET使用ORACLE數據庫呢,我想這個問題很多人都不知道怎么解決,在這里給大家演示一個示例吧。Oracle.DataAccess.Client 命名空間是 ODP.NET 的一部分,它包含許多類,其中有OracleConnection、OracleCommand 和 OracleTransaction。示例程序用到了這些類。

VB.NET使用ORACLR第 1 步

創建一個 OracleConnection 對象連接到 Oracle 數據庫,然后打開該連接。
在 C# 中:

  1. OracleConnection myOracleConnection =new OracleConnection(  
  2. "User Id=store;Password=store;Data Source=ORCL"  
  3. );  
  4. myOracleConnection.Open(); 

在 VB.NET 中:

  1. Dim myOracleConnection As New OracleConnection( _  
  2. "User Id=store;Password=store;Data Source=ORCL")  
  3. myOracleConnection.Open() 

User Id 和 Password 屬性指定了您所要連接到的模式的數據庫用戶和口令。Data Source 屬性指定了數據庫的 Oracle Net 服務名稱;初始數據庫的默認服務名稱為 ORCL。如果您使用的不是初始數據庫,或者您的服務名稱不同,那么您需要在程序中修改 Data Source 屬性的設置。

VB.NET使用ORACLR第 2 步

創建一個 OracleTransaction 對象,然后調用 OracleConnection 對象的 BeginTransaction() 方法啟動事務。

在 C# 中:

  1. OracleTransaction myOracleTransaction =  
  2. myOracleConnection.BeginTransaction();  
  3. In VB.NET:  
  4. Dim myOracleTransaction As OracleTransaction = _ 
  5. myOracleConnection.BeginTransaction() 

VB.NET使用ORACLR第3 步

創建一個 OracleCommand 對象,用于存儲 SQL 語句。

在 C# 中:

  1. OracleCommand myOracleCommand = myOracleConnection.CreateCommand();    

在 VB.NET 中:

  1. Dim myOracleCommand As OracleCommand =  
  2. myOracleConnection.CreateCommand    

因為 OracleCommand 對象使用 OracleConnection 對象的 CreateCommand() 方法創建的,所以它自動使用在第 2 步中為 OracleConnection 對象設置的事務。

VB.NET使用ORACLR第 4 步

將 OracleCommand 對象的 CommandText 屬性設為向表 product_types 中添加一行的第一條 INSERT 語句。
在 C# 中:

  1. myOracleCommand.CommandText =  
  2. "INSERT INTO product_types (" +  
  3. "  product_type_id, name" +  
  4. ") VALUES (" +  
  5. "  3, 'Magazine'" +  
  6. ")"; 

 在 VB.NET 中:

  1. myOracleCommand.CommandText = _ 
  2. "INSERT INTO product_types (" & _  
  3. "  product_type_id, name" & _  
  4. ") VALUES (" & _  
  5. "  3, 'Magazine'" & _  
  6. ")" 

VB.NET使用ORACLR第 5 步
使用 OracleCommand 對象的 ExecuteNonQuery() 方法運行 INSERT 語句。
在 C# 中:

  1. myOracleCommand.ExecuteNonQuery(); 

在 VB.NET 中:

  1. myOracleCommand.ExecuteNonQuery(); 

VB.NET使用ORACLR第 6 和第 7 步

將 OracleCommand 對象的 CommandText 屬性設為向表 Products 中添加一行的第二條 INSERT 語句,并運行它。
在 C# 中:

  1. myOracleCommand.CommandText =  
  2. "INSERT INTO products (" +  
  3. "  product_id, product_type_id, name, description, price" +  
  4. ") VALUES (" +  
  5. "  5, 3, 'Oracle Magazine', 'Magazine about Oracle', 4.99" +  
  6. ")";  
  7. myOracleCommand.ExecuteNonQuery();  

在 VB.NET 中:

  1. myOracleCommand.CommandText = _ 
  2. "INSERT INTO products (" & _  
  3. "  product_id, product_type_id, name, description, price" & _  
  4. ") VALUES (" & _  
  5. "  5, 3, 'Oracle Magazine', 'Magazine about Oracle', 4.99" & _  
  6. ")"  
  7. myOracleCommand.ExecuteNonQuery() 

VB.NET使用ORACLR第 8 步

使用 OracleTransaction 對象的 Commit() 方法提交數據庫中的事務。
在 C# 中:

  1. myOracleTransaction.Commit(); 

在 VB.NET 中:

  1. myOracleTransaction.Commit() 

在完成 Commit() 方法之后,由 INSERT 語句添加的兩行將在數據庫中永久記錄。


VB.NET使用ORACLR第 9 步

使用 Close() 方法關閉 OracleConnection 對象。

 在 C# 中:

  1. myOracleConnection.Close(); 

在 VB.NET 中:

  1. myOracleConnection.Close() 


編譯并運行示例程序

要編譯 C# 示例程序,您可以使用 csc 命令運行 C# 編譯器。因為程序使用 Oracle Data Access DLL,所以您應使用 /r 選項指定該 DLL 的完整路徑,例如:

注意:您需要用您計算機上的相應路徑來替換該 DLL 的路徑。此外,如果您的計算機找不到 csc 編譯器,那么您可能需要運行 Microsoft sdkvars.bat 腳本來首先設置 .NET SDK 的環境變量;您可以在安裝 .NET SDK 的 bin 目錄中找到該腳本。

如果您遇到以下錯誤:

  1. Example1.cs(10,7):error CS0246:The type or namespace name 'Oracle'  
  2. could not be found (are you missing a using   
  3. directive or an assembly reference?) 

這說明您沒有在編譯命令中正確指定 Oracle Data Access DLL。(有關設置的信息,請參閱 John Paul Cook 的技術文章“在 Oracle 數據庫上構建 .NET 應用程序”。)

下面是用于編譯 VB.NET 程序的等價命令:

  1. vbc TransExample1.vb /r:C:\oracle\product\10.1.0\  
  2. Client_1\bin\Oracle.DataAccess.dll /r:system.dll /r:system.data.dll    

 接下來,輸入以下命令,運行示例:

  1. An exception was thrown  
  2. Message = ORA-12514:TNS:listener does not currently know  
  3. of service requested in connect descriptor 

您將看到程序的輸出。不過,如果您遇到類似以下的異常

這說明 OracleConnection 對象的連接字符串中的 Data Source 的設置不正確。您應當咨詢您的 DBA 或查閱 Oracle Net 文檔以獲得更多詳細信息。

如果您使用的是 VS .NET,那么您可以遵循以下指示來編譯和運行 C# 程序 TransExample1.cs:
創建一個新的 C# 控制臺應用程序。File>New Project,然后選擇 Visual C# Projects,Console Application。
將項目命名為 TransExample1。用 TransExample1.cs 中的代碼替換 VS .NET 生成的所有代碼。選擇 Project>Add Reference 添加對 Oracle.DataAccess.dll 的引用,然后瀏覽至您安裝 ODP.NET 的目錄(在我的計算機上,它是 C:\oracle\product\10.1.0\Client_1\bin\Oracle.DataAccess.dll),然后雙擊 Oracle.DataAccess.dll。

選擇 Debug>Start without Debugging 運行該程序。要編譯和運行 TransExample1.vb,您可以執行類似的一系列步驟,但第 1 步應選擇一個 Visual Basic 控制臺應用程序,并在第 3 步用 TransExample1.vb 中的代碼替換生成的代碼。

查看程序的運行結果

當您運行完 C# 或 VB .NET 程序時,您可以在 SQL*Plus 中使用以下 SELECT 語句查看事務的結果:

  1. SELECT p.product_id, p.product_type_id, pt. name, p.name, p.description, p.price  
  2. FROM products p, product_types pt  
  3. WHERE p.product_type_id = pt.product_type_id  
  4. AND p.product_id = 5;  
  5. 您將看到以下結果: PRODUCT_ID PRODUCT_TYPE_ID NAME       NAME  
  6. ---------- --------------- ---------- -----------------------  
  7. DESCRIPTION                                             PRICE  
  8. -------------------------------------------------- ----------  
  9. 5 3 Magazine   Oracle Magazine  
  10. Magazine about Oracle                                    4.99   

【編輯推薦】

  1. 介紹VB.NET繪圖方法的三個方面
  2. 突破VB.NET命名空間兩大難關
  3. 演示VB.NET類定義全過程
  4. VB.NET類對象語法概括
  5. 講述VB.NET實現拖動圖片
責任編輯:田樹 來源: 中科軟件園
相關推薦

2009-10-23 17:03:18

VB.NET事件編程

2009-10-26 13:13:17

VB.NET編碼規范

2009-10-09 15:20:26

VB.NET連接數據庫

2010-01-08 10:37:50

VB.NET數據庫

2009-10-13 17:31:50

VB.NET Acce

2009-10-28 17:08:57

VB.NET數據庫開發

2009-10-28 17:00:30

VB.NET數據庫

2009-11-11 11:33:08

VB.NET線程訪問數

2010-01-15 18:24:14

VB.NET打開Not

2010-01-12 10:40:58

VB.NET數據庫壓縮

2010-01-15 19:24:42

2009-10-28 16:47:26

VB.NET訪問數據庫

2010-01-13 15:01:13

VB.NET操作MyS

2010-01-12 09:51:07

VB.NET操作dbf

2009-10-28 17:24:19

VB.NET介紹

2010-01-18 19:21:51

VB.NET存取數據庫

2009-11-03 13:48:02

VB.NET枚舉

2009-10-26 15:57:07

VB.NET使用Ora

2009-10-14 17:08:44

VB.NET使用Fil

2010-01-11 16:04:10

VB.NET使用wit
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 看毛片网站 | 中文字幕视频在线看 | 国产成人午夜电影网 | 四虎在线观看 | 成人三级视频 | 精品亚洲一区二区三区 | 亚洲精品二区 | 精品福利av导航 | 日韩中文欧美 | 久久久精品影院 | 黄频免费 | 国产高清久久 | 日日天天 | 亚洲视频一区二区三区 | 欧美激情综合网 | 国内精品成人 | 国内精品视频一区二区三区 | 亚洲色视频| 欧美精品福利 | 久久成人国产精品 | 91在线精品一区二区 | 午夜视频一区二区 | 精品欧美一区二区精品久久 | 美女在线一区二区 | 国产激情91久久精品导航 | 国产精品不卡一区 | 精品欧美一区二区三区久久久 | 香蕉视频在线播放 | 午夜精品久久久 | 亚洲激情一级片 | 国产精品视频在线播放 | 日韩av高清 | 色婷婷国产精品综合在线观看 | 九色国产 | 激情av | 成人在线观看免费 | 欧美性生活一区二区三区 | 国产日韩欧美在线 | 久久久一区二区 | 亚洲综合大片69999 | 狠狠综合网 |