大家一起分享C#調用oracle存儲過程
發表時間:2024-05-19 來源:明輝站整理相關軟件相關文章人氣:
[摘要]大家一起分享C#調用oracle存儲過程 執行結果 ?????? ? ?????? ? ????? ? Oracle方面 1.創建Oracle過程存儲 create or replace procedure proce_test(paramin in varchar2,paramout out v...
大家一起分享C#調用oracle存儲過程
執行結果
??????
?
??????
?
?????
?
Oracle方面
1.創建Oracle過程存儲
create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2)
as
? varparam varchar2(28);
begin
? varparam:=paramin;
? paramout:=varparam
paraminout;?
end;
2.測試過程存儲
declare
? param_out varchar2(28);
? param_inout varchar2(28);
begin
? param_inout:='ff';??
? proce_test('dd',param_out,param_inout);??
? dbms_output.put_line(param_out);
end;
?
測試結果:ddff
C#方面
1.創建界面
?
類型
對象名
Text屬性值
Button
Button1
調用
Label
Label1
a:
Label
Label2
b:
Label
m_input
input
Label
m_input_output
inputoutput
Label
m_Print
顯示:
TextBox
m_TxtI
?
TextBox
m_TxtIO
?
?
2.顯示代碼
?
(1) 引用oracle的組件
??? 在代碼中添加 using System.Data.OracleClient;
(2) 在界面上雙擊“調用”按鈕,編寫如下代碼:
private void Button1_Click(object sender, System.EventArgs e)
???????? {
????????????? string mConn="data source=ora9i.ora.com;user id= ora;password= ora ";//連接數據庫
????????????? conn=new OracleConnection(mConn);
????????????? cmd=conn.CreateCommand();
????????????? cmd.CommandText="proce_test";//存儲過程名
????????????? cmd.CommandType=CommandType.StoredProcedure;//聲明調用存儲過程
????????????? //存儲過程的參數,paramin代表參數名,OracleType.VarChar代表參數類型,20代表參數的大小
????????????? OracleParameter param_in=cmd.Parameters.Add("paramin",OracleType.VarChar,20);
????????????? param_in.Direction=ParameterDirection.Input;//代表參數的存儲方式
????????????? param_in.Value=m_TxtI.Text;
OracleParameter param_out=cmd.Parameters.Add("paramout",OracleType.VarChar,20);
????????????? param_out.Direction=ParameterDirection.Output;
OracleParameter param_inout=cmd.Parameters.Add("paraminout",OracleType.VarChar,20);
????????????? param_inout.Direction=ParameterDirection.InputOutput;
????????????? param_inout.Value=m_TxtIO.Text;
????????????? conn.Open();
????????????? //執行存儲過程
????????????? cmd.ExecuteNonQuery();
????????????? //返回參數的值
????????????? m_Print.Text="顯示:"+param_out.Value.ToString();
????????????? conn.Close();
}
?