日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
詳談如何在VB.NET使用ORACLR數(shù)據(jù)庫(kù)事務(wù)

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

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

VB.NET使用ORACLR第 1 步

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

VB.NET使用ORACLR第 2 步

創(chuàng)建一個(gè) OracleTransaction 對(duì)象,然后調(diào)用 OracleConnection 對(duì)象的 BeginTransaction() 方法啟動(dòng)事務(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)建一個(gè) OracleCommand 對(duì)象,用于存儲(chǔ) SQL 語句。

在 C# 中:

 
 
 
  1. OracleCommand myOracleCommand = myOracleConnection.CreateCommand();   

在 VB.NET 中:

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

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

VB.NET使用ORACLR第 4 步

將 OracleCommand 對(duì)象的 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 對(duì)象的 ExecuteNonQuery() 方法運(yùn)行 INSERT 語句。
在 C# 中:

 
 
 
  1. myOracleCommand.ExecuteNonQuery();

在 VB.NET 中:

 
 
 
  1. myOracleCommand.ExecuteNonQuery();

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

將 OracleCommand 對(duì)象的 CommandText 屬性設(shè)為向表 Products 中添加一行的第二條 INSERT 語句,并運(yùn)行它。
在 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 對(duì)象的 Commit() 方法提交數(shù)據(jù)庫(kù)中的事務(wù)。
在 C# 中:

 
 
 
  1. myOracleTransaction.Commit();

在 VB.NET 中:

 
 
 
  1. myOracleTransaction.Commit()

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

VB.NET使用ORACLR第 9 步

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

 在 C# 中:

 
 
 
  1. myOracleConnection.Close();

在 VB.NET 中:

 
 
 
  1. myOracleConnection.Close()

編譯并運(yùn)行示例程序

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

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

如果您遇到以下錯(cuò)誤:

 
 
 
  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è)置的信息,請(qǐng)參閱 John Paul Cook 的技術(shù)文章“在 Oracle 數(shù)據(jù)庫(kù)上構(gòu)建 .NET 應(yīng)用程序”。)

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

 
 
 
  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   

 接下來,輸入以下命令,運(yùn)行示例:

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

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

這說明 OracleConnection 對(duì)象的連接字符串中的 Data Source 的設(shè)置不正確。您應(yīng)當(dāng)咨詢您的 DBA 或查閱 Oracle Net 文檔以獲得更多詳細(xì)信息。

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

選擇 Debug>Start without Debugging 運(yùn)行該程序。要編譯和運(yùn)行 TransExample1.vb,您可以執(zhí)行類似的一系列步驟,但第 1 步應(yīng)選擇一個(gè) Visual Basic 控制臺(tái)應(yīng)用程序,并在第 3 步用 TransExample1.vb 中的代碼替換生成的代碼。

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

當(dāng)您運(yùn)行完 C# 或 VB .NET 程序時(shí),您可以在 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  

網(wǎng)頁(yè)題目:詳談如何在VB.NET使用ORACLR數(shù)據(jù)庫(kù)事務(wù)
標(biāo)題來源:http://www.5511xx.com/article/djcdjhc.html