av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

詳談如何在VB.NET使用ORACLR數(shù)據(jù)庫事務(wù)

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

創(chuàng)新互聯(lián)主營豐林網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),豐林h5微信小程序搭建,豐林網(wǎng)站營銷推廣歡迎豐林等地區(qū)企業(yè)咨詢

VB.NET使用ORACLR第 1 步

創(chuàng)建一個 OracleConnection 對象連接到 Oracle 數(shù)據(jù)庫,然后打開該連接。
在 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 屬性指定了您所要連接到的模式的數(shù)據(jù)庫用戶和口令。Data Source 屬性指定了數(shù)據(jù)庫的 Oracle Net 服務(wù)名稱;初始數(shù)據(jù)庫的默認服務(wù)名稱為 ORCL。如果您使用的不是初始數(shù)據(jù)庫,或者您的服務(wù)名稱不同,那么您需要在程序中修改 Data Source 屬性的設(shè)置。

VB.NET使用ORACLR第 2 步

創(chuàng)建一個 OracleTransaction 對象,然后調(diào)用 OracleConnection 對象的 BeginTransaction() 方法啟動事務(wù)。

在 C# 中:

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

VB.NET使用ORACLR第3 步

創(chuàng)建一個 OracleCommand 對象,用于存儲 SQL 語句。

在 C# 中:

 
 
 
  1. OracleCommand myOracleCommand = myOracleConnection.CreateCommand();   

在 VB.NET 中:

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

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

VB.NET使用ORACLR第 4 步

將 OracleCommand 對象的 CommandText 屬性設(shè)為向表 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 屬性設(shè)為向表 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() 方法提交數(shù)據(jù)庫中的事務(wù)。
在 C# 中:

 
 
 
  1. myOracleTransaction.Commit();

在 VB.NET 中:

 
 
 
  1. myOracleTransaction.Commit()

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

VB.NET使用ORACLR第 9 步

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

 在 C# 中:

 
 
 
  1. myOracleConnection.Close();

在 VB.NET 中:

 
 
 
  1. myOracleConnection.Close()

編譯并運行示例程序

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

注意:您需要用您計算機上的相應(yīng)路徑來替換該 DLL 的路徑。此外,如果您的計算機找不到 csc 編譯器,那么您可能需要運行 Microsoft sdkvars.bat 腳本來首先設(shè)置 .NET SDK 的環(huán)境變量;您可以在安裝 .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。(有關(guān)設(shè)置的信息,請參閱 John Paul Cook 的技術(shù)文章“在 Oracle 數(shù)據(jù)庫上構(gòu)建 .NET 應(yīng)用程序”。)

下面是用于編譯 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 的設(shè)置不正確。您應(yīng)當咨詢您的 DBA 或查閱 Oracle Net 文檔以獲得更多詳細信息。

如果您使用的是 VS .NET,那么您可以遵循以下指示來編譯和運行 C# 程序 TransExample1.cs:
創(chuàng)建一個新的 C# 控制臺應(yīng)用程序。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,您可以執(zhí)行類似的一系列步驟,但第 1 步應(yīng)選擇一個 Visual Basic 控制臺應(yīng)用程序,并在第 3 步用 TransExample1.vb 中的代碼替換生成的代碼。

查看程序的運行結(jié)果

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

 
 
 
  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. 您將看到以下結(jié)果: PRODUCT_ID PRODUCT_TYPE_ID NAME       NAME
  6. ---------- --------------- ---------- -----------------------
  7. DESCRIPTION                                             PRICE
  8. -------------------------------------------------- ----------
  9. 5 3 Magazine   Oracle Magazine
  10. Magazine about Oracle                                    4.99  

本文標題:詳談如何在VB.NET使用ORACLR數(shù)據(jù)庫事務(wù)
本文鏈接:http://uogjgqi.cn/article/djcdjhc.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流