建立表
create table test建立不帶引數的儲存過程(id number,
name varchar2(
10),
*** varchar2(4),
age number,
address varchar2(
200)
);
createc#**呼叫orreplace
procedure
proc1
isbegin
insert
into test(id,name,***,age) values
(1,'
moses
','man
',25
);commit
;end
;/
protectedvoid button2_click(object
sender, eventargs e)
createc#呼叫orreplace
proc2
(v_id
number
,v_name
varchar2)is
begin
insert
into
test(id,name)
values
(v_id,v_name);
commit
;end
;/
protectedview codevoid button1_click(object
sender, eventargs e)
if (string.isnullorempty(this
.textbox3.text))
string or=configurationmanager.connectionstrings["
conn
"].tostring();
oracleconnection oc = new
oracleconnection(or);
oc.open();
oraclecommand om =oc.createcommand();
om.commandtype =commandtype.storedprocedure;
om.commandtext = "
proc2";
om.parameters.add(
"v_id
", oracletype.number).direction =parameterdirection.input;
om.parameters[
"v_id
"].value = this
.textbox2.text.trim();
om.parameters.add(
"v_name
", oracletype.nvarchar).direction =parameterdirection.input;
om.parameters[
"v_name
"].value = this
.textbox3.text.trim();
om.executenonquery();
oc.close();
}
createc#呼叫orreplace
procedure proc3 (recount out number)is
begin
select
count(*) into reccount from
test;
commit
;end
;/
protectedview codevoid button1_click(object
sender, eventargs e)
應用程式通過針對oracleconnection物件呼叫 begintransaction 來建立oracletransaction物件。對oracletransaction物件執行與該事務關聯的所有後續操作(例如提交或中止該事務)。
oracletransaction的成員主要有:
屬性:connection,指定與該事務關聯的oracleconnection物件;
isolationlevel,指定該事務的isolationlevel;列舉型別,用於對事物的鎖定,取值有chaos、readcommited、readuncommited、repeatableread、serializable、unspecified。
方法:commit,提交sql資料庫事務;
rollback , 從掛起狀態回滾事務;
對何時使用事務來操作有以下初步認識:
對多個表同時進行操作時,其他還有何注意呢?
connection一旦開了乙個事務,則執行的命令就必須和事務相關。
要注意的是,在事務進行中,不能再對同乙個資料庫連線(oracleconnection)再進行事務外的資料的查詢和讀取,
if (trans != null)
madp.selectcommand.transaction = trans;
總結:在事務塊內,如果使用同樣的connection物件查詢,但不指定事務,會報錯,在事務提交後,或者不使用相同的connection的物件查詢,不會報錯。
using參考文章system;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
system.configuration;
using
system.data;
using
oracle.dataaccess.client;
using
system.runtime.interopservices;
using
system.text.regularexpressions;
using
system.diagnostics;
using
system.data.common;
using
system.collections;
namespace
db_server
#region
//連線資料庫所需變數及方法
private
string oracleconstr = ""
;
private oracleconnection conn;//
建立sql連線
private oraclecommand com;//
建立sql命令物件
private oracledatareader dr;//
建立sql資料閱讀器
private oracledataadapter sdr;//
建立sql介面卡
private dataset ds;//
建立資料集
//////
建立資料庫連線並開啟
/// public
void
open()
else
if (conn.state ==connectionstate.broken)
}#region
//事務運算元據庫
//////
提交一組(多條)sql語句運算元據庫
/// ///
sql列表
///執行結果
public
intupdatebatchcommand(arraylist commandstringlist)
m_oratrans.commit();
return
influencerowcount;
}catch
(oracleexception ex)
}#endregion
殘陽飛雪,
c#呼叫oracle儲存過程
joyoung,
c#使用事務操作oracle資料庫
C 中使用 Oracle的事務與儲存過程
建立表 create table test id number,name varchar2 10 varchar2 4 age number,address varchar2 200 建立不帶引數的儲存過程 create orreplace procedure proc1 isbegin inser...
C 中使用Oracle 儲存過程筆記
c 中使用oracle 儲存過程筆記 1.呼叫包含out in out型別引數的儲存過程 儲存過程 flag out integer out 只具備輸出功能 in out 為輸入 輸出型 呼叫方法 oracleparameter retpar new oracleparameter channeli...
Oracle中使用到的函式
1.字串相關 1 查詢字串 insrt函式 對指定字串進行判斷,判斷其是否含有指定的字元 instr 源字串 目標字串 開始位置 第幾次出現 用於模糊查詢以及判斷包含關係 select code,name,dept,occupation from staff where instr code,001...