亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

.net實現oracle數據庫中獲取新插入數據的id的方法

2024-07-10 13:16:51
字體:
來源:轉載
供稿:網友
在sql sever中實現插入數據的自動增長是很容易的,但是在oracle數據庫中實現這一操作不是很容易,同時要想在.net中實現獲取新插入數據的id,而且不會出現讀錯的情況,就更顯得困難了,為了解決在oracle數據中插入的數據能夠自增id,同時獲取新數據的id,并避免因并發操作而出現的id讀錯的問題。

數據表結構為test(id,name)

首先,解決數據id自增問題
創建一個序列sequence(sequence詳解可從網上搜一下,這里不贅述)
create sequence SEQ_test
minvalue 1
maxvalue 99999999999999999999999999
start with 21
increment by 1
cache 20;
序列sequence有兩個固有屬性nextval(下一個值)和currval(當前值)
這樣在插入數據的sql語句中可以自動獲取自增的id值:insert into test(id,name) values(seq_test.nextval,'name1')
插入完畢后,就可以獲取該id值了:select seq_test.currval from dual
注意:序列的currval屬性只有在插入語句insert完畢后形成短暫記錄,所以必須在下一次數據庫操作之前獲取該值,否則失效無法獲得,為了解決這一問題,我們可以通過創建存儲過程來及時獲取該值。
然后,創建存儲過程,實現插入和獲值操作

為了實現該存儲過程的可擴展性,存儲過程的參數包括三個:strInsertSQL(傳遞insert語句),seqName(獲取序列的名稱),ID(輸出值,獲取id)

復制代碼 代碼如下:


create or replace procedure p_GetItemID(
strInsertSQL varchar2,
seqName varchar2,
ID out varchar2
)
is
strSql varchar(200);
begin
execute immediate strInsertSQL;--執行插入語句
strSql:='select '||seqName||'.currval from dual';--獲取id的sql語句
execute immediate strSql into ID;--執行獲取id的sql語句
EXCEPTION
WHEN OTHERS THEN
DBMS_output.PUT_LINE(SQLERRM);
end p_GetItemID;


最后,利用c#語言,在實現.net中實現程序應用

同樣為了實現該功能的擴展行,創建獲取id的函數,數據庫連接語句從webconfig中獲取

復制代碼 代碼如下:


public string ExecuteProcedure(string strInsertSQL,string proName,string seqName)
{
try
{
if (m_Connection_orc.State != System.Data.ConnectionState.Open)
{//從webconfig中獲取數據庫連接
m_Connection_orc.Open();
}
}
catch (System.Exception ex)
{
}
try
{ //藍色字體會核心語句
OracleConnection dbConnection_orc;
OracleCommand dbCommand_orc;
dbConnection_orc = m_Connection_orc;
dbCommand_orc = new OracleCommand(proName, dbConnection_orc); //proName為存儲過程的名字
dbCommand_orc.CommandType = CommandType.StoredProcedure;
//在Parameters中添加的參數名稱必須與數據庫中存儲過程中的參數名稱、類型保持一致
dbCommand_orc.Parameters.Add("strInsertSQL", OracleType.VarChar);
dbCommand_orc.Parameters.Add("seqName", OracleType.VarChar);
dbCommand_orc.Parameters.Add("ID", OracleType.VarChar);
dbCommand_orc.Parameters["ID"].Direction = ParameterDirection.Output; //指定參數ID為輸出類型的值
dbCommand_orc.Parameters["strInsertSQL"].Value = strInsertSQL; //獲取插入語句
dbCommand_orc.Parameters["seqName"].Value = seqName; //獲取序列名稱
dbCommand_orc.ExecuteNonQuery(); //執行操作
string newID = dbCommand_orc.Parameters["ID"].Value.ToString(); //獲取id的值
return newID; //返回id值
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
CloseConnection();
}
}


至此,獲取新插入數據的id值操作就結束了,在編程過程中,調用函數ExecuteProcedure就可以獲取id值,哇咔咔
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品一区二区久| 9.1国产丝袜在线观看| 色老头一区二区三区在线观看| 亚洲视频在线观看| 亚洲欧美综合区自拍另类| 亚洲视频在线观看| 亚洲深夜福利视频| 日韩成人激情在线| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品亚洲自拍| 欧美专区在线视频| 91在线观看免费高清完整版在线观看| 亚洲天堂日韩电影| 91wwwcom在线观看| 国产日韩一区在线| 97国产suv精品一区二区62| 色琪琪综合男人的天堂aⅴ视频| 亚洲欧美激情四射在线日| 欧美人与性动交a欧美精品| 8x拔播拔播x8国产精品| 欧美视频在线观看免费| 亚洲国产精品va| 欧美专区中文字幕| 欧美精品国产精品日韩精品| 亚洲欧美日韩精品久久| 国产激情综合五月久久| 欧美资源在线观看| 92裸体在线视频网站| 国产视频在线一区二区| 草民午夜欧美限制a级福利片| 欧美成人性色生活仑片| 欧美一级大胆视频| 日本精品免费一区二区三区| 亚洲国产99精品国自产| 国产午夜精品免费一区二区三区| 欧美视频一二三| 久久中文字幕一区| 5566日本婷婷色中文字幕97| 国产精品视频一区二区三区四| 97在线精品国自产拍中文| 欧美孕妇性xx| 亚洲xxx大片| 国产午夜精品美女视频明星a级| 亚洲国产一区二区三区四区| 亚洲人成绝费网站色www| 日本精品久久久| 日韩免费黄色av| 丝袜情趣国产精品| 中日韩美女免费视频网址在线观看| 久久久av一区| 欧美日韩国产综合新一区| 45www国产精品网站| 亚洲一区二区久久| 自拍偷拍亚洲精品| 国产精品免费一区二区三区都可以| 亚洲欧美一区二区三区情侣bbw| 17婷婷久久www| 亚洲免费小视频| 国产亚洲精品美女久久久久| 欧美激情亚洲激情| 亚洲国产欧美精品| 国产91色在线免费| 国产成人综合精品在线| 欧美亚洲免费电影| 亚洲成人a**站| 欧美大片大片在线播放| 久久精品91久久香蕉加勒比| 91色精品视频在线| 国产精品久久久久久搜索| 国产精品视频在线观看| 国产精品国产福利国产秒拍| 中文字幕国产日韩| 日韩中文字幕在线免费观看| 亚洲国产成人精品久久| 日韩久久精品电影| 久久久久久久久久久久av| 久久精品国产亚洲精品2020| 欧美激情亚洲视频| 亚洲国内高清视频| 精品国偷自产在线| 成人黄色片网站| 精品亚洲va在线va天堂资源站| 亚洲福利视频免费观看| 91夜夜未满十八勿入爽爽影院| 日韩精品免费综合视频在线播放| 91免费看国产| 精品成人久久av| 日本一区二三区好的精华液| 日韩福利伦理影院免费| 丝袜美腿精品国产二区| 久久综合国产精品台湾中文娱乐网| 欧美日韩福利电影| 日韩av一区在线| 成人免费视频网址| 国产欧美日韩精品丝袜高跟鞋| 欧美性猛交xxxx富婆| 亚洲精品www久久久| 亚洲成人aaa| 亚洲第一页中文字幕| 91国产美女视频| 欧美性猛交xxxx免费看久久久| 隔壁老王国产在线精品| 久久色在线播放| 亚洲视频在线观看免费| 亚洲日本欧美日韩高观看| 日韩精品福利在线| 欧美夫妻性视频| 伊人伊人伊人久久| 亚洲一区二区三区777| 91精品视频一区| 国产精品久久久久久影视| 亚洲精品网站在线播放gif| 4p变态网欧美系列| 黄色一区二区在线观看| 日韩精品在线免费| 国产精品电影一区| 全色精品综合影院| 亚洲欧美制服第一页| 精品视频久久久久久| 精品国内自产拍在线观看| 亚洲精品影视在线观看| 久久国产精品久久久久| 亚洲性av在线| 欧亚精品在线观看| 中文字幕亚洲欧美日韩2019| 欧美激情一区二区三区久久久| 26uuu久久噜噜噜噜| 欧美综合国产精品久久丁香| 日韩欧美国产中文字幕| 色综合伊人色综合网| 91美女高潮出水| 亚洲国产小视频| 国产91对白在线播放| 亚洲人成电影网站色xx| 日韩中文字幕网站| 国产不卡av在线免费观看| 自拍偷拍亚洲一区| 亚洲欧美国产精品| 欧美成人精品影院| 一区三区二区视频| 91欧美视频网站| 欧美一区二区三区四区在线| 欧洲s码亚洲m码精品一区| 伊人久久久久久久久久久| 一区二区三区亚洲| 97婷婷涩涩精品一区| 91影院在线免费观看视频| 久久精品中文字幕免费mv| 一区二区三区日韩在线| 成人精品久久av网站| 久久久最新网址| 亚洲精品视频网上网址在线观看| 成人在线观看视频网站| 久久久久久久久久久国产| 成人av资源在线播放| 色yeye香蕉凹凸一区二区av| 欧美精品激情blacked18| 中文在线资源观看视频网站免费不卡| 国产日本欧美在线观看| 深夜福利亚洲导航| 性亚洲最疯狂xxxx高清| 欧美日韩国产在线播放| 成人国产精品久久久久久亚洲| 色婷婷综合久久久久|