調用輸出參數的存儲過程
㈠ 三層架構調用帶有輸出參數的存儲過程
由BLL把參數傳遞給DAL層,DAL層調用後返回值給BLL層。BLL層在返回給顯示層。
㈡ 如何用VB6調用帶參數帶輸出的存儲過程
追加參數法調用存儲過程
追加參數通過CreateParameter方法,
用來指定屬性創建新的Parameter對象。具體語法如下:
Set
parameter
=
command.CreateParameter
(Name,
Type,
Direction,
Size,
Value)
·Name
可選,字元串,代表
Parameter
對象名稱。
·Type
可選,長整型值,指定
Parameter
對象數據類型。
·Direction
可選,長整型值,指定
Parameter
對象類型。
·Size
可選,長整型值,指定參數值最大長度(以字元或位元組數為單位)。
·Value
可選,變體型,指定
Parameter
對象值。
這種方法與上面一種方法的分別主要在於,
追加參數的方法在向存儲過程傳遞參數時,
這種方法首先通過CreateParameter方法為存儲過程創建參數,
然後通過Append方法將創建的參數追加到Parameter
s集合中去。
仍然以存儲過程doc_ProcName的調用為例,
關鍵代碼如下:
Dim
mRst
As
ADODB.Recordset
'Recordset
對象表示的是來自基本表或命令執行結果的記錄全集。
Dim
prm
As
ADODB.Parameter
'Parameter
對象代表參數或與基於參數化查詢或存儲過程的Command
對象相關聯的參數。
adoconn.ConnectionString
=
Adodc1.ConnectionString
adoconn.Open
Set
adocomm.ActiveConnection
=
adoconn
adocomm.CommandText
=
doc_ProcName
adocomm.CommandType
=
adCmdStoredProc
Set
prm
=
adocomm.CreateParameter(
parameter1,
adTinyInt,
adParamInput,
,
1)
adocomm.Parameters.Append
prm
Set
prm
=
adocomm.CreateParameter(
parameter2,
adInteger,
adParamOutput)
adocomm.Parameters.Append
prm
㈢ 使用php調用帶有輸出參數的存儲過程,如果存儲過程中包含insert語句,則輸出參數就不能正確返回
您好,這樣:
根據指定的整數 IN 參數 (employeeID),該存儲過程也返回單個整數 OUT 參數 (managerID)。根據 HumanResources.Employee 表中包含的 EmployeeID,OUT 參數中返回的值為 ManagerID。
在下面的實例中,將向此函數傳遞 AdventureWorks 示例資料庫的打開連接,然後使用 execute 方法調用 GetImmediateManager 存儲過程:
public static void executeStoredProcere(Connection con) {
try {
CallableStatement cstmt = con.prepareCall("{call dbo.GetImmediateManager(?, ?)}");
cstmt.setInt(1, 5);
cstmt.registerOutParameter(2, java.sql.Types.INTEGER);
cstmt.execute();
System.out.println("MANAGER ID: " + cstmt.getInt(2));
}
catch (Exception e) {
e.printStackTrace();
}
}
本示例使用序號位置來標識參數。或者,也可以使用參數的名稱(而非其序號位置)來標識此參數。下面的代碼示例修改了上一個示例,以說明如何在 Java 應用程序中使用命名參數。請注意,這些參數名稱對應於存儲過程的定義中的參數名稱:
public static void executeStoredProcere(Connection con) {
try {
CallableStatement cstmt = con.prepareCall("{call dbo.GetImmediateManager(?, ?)}");
cstmt.setInt("employeeID", 5);
cstmt.registerOutParameter("managerID", java.sql.Types.INTEGER);
cstmt.execute();
System.out.println("MANAGER ID: " + cstmt.getInt("managerID"));
cstmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
注意
這些示例使用 SQLServerCallableStatement 類的 execute 方法來運行存儲過程。使用此方法是因為存儲過程也不會返回結果集。如果返回,則使用 executeQuery 方法。
㈣ plsql中怎麼調用帶輸出參數的存儲過程
1、首先打開一個的PLSQL Developer的界面中,點擊左上角的工具,如下圖所示。
㈤ 關於調用帶輸出參數的oracle存儲過程
可以通過以下方式來進行帶參數存儲過程執行。
SQL>createorreplaceproceresp_pro10
2(spnoinnumber,spnameoutvarchar2)is
3begin
4select'ename'intospnamefromal;
5end;
6/
過程已創建。
SQL>setserveroutputon
SQL>DECLARE
2spnonumber;
3spnamevarchar2(10);
4BEGIN
5sp_pro10(spno,spname);
6
7dbms_output.put_line(spname);
8END;
9/
ename
PL/SQL過程已成功完成。
㈥ 如何執行帶輸出參數的存儲過程
如果你用的是oracle的話, 你在點擊相應的存儲過程的時候, 右鍵, 有一個test, 這個test就類似於調式執行, 你可以在 界面上輸入參數, 然後點擊 圖標 有一個放大鏡的那個, 點擊 綠色的箭頭, 最後輸出結果 會在 你輸入參數的地方 有 顯示, 查看就行
㈦ Java中,怎樣調用帶輸出參數的存儲過程
1、創建帶輸出參數的存儲過程 如: 在查詢分析器中執行declare @mg nvarchar(100)
exec proc_CSCO_SalesFctByStore 100,200,'name',@mg output
print @mg 在Java中調用import java.sql.*;
public class Test{
public static void main(String args[]) throws Exception {//載入驅動DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //獲得連接
Connection conn = DriverManager.getConnection("jdbc:odbc:mydata", "sa",""); //創建存儲過程的對象
CallableStatement c = conn.prepareCall("{call proc_CSCO_SalesFctByStore(?,?,?,?)}"); //給存儲過程的第一個參數設置值
c.setInt(1, 100); //給存儲過程的第一個參數設置值
c.setInt(2, 10000); //給存儲過程的第一個參數設置值
c.setString(3, user); //注冊存儲過程的第四個參數
c.registerOutParameter(4, java.sql.Types.VARCHAR); //執行存儲過程
c.execute(); //得到存儲過程的輸出參數值
㈧ Java中,怎樣調用帶輸出參數的存儲過程(轉)
exec proc_CSCO_SalesFctByStore 100,200,'name',@mg output print @mg 在Java中調用import java.sql.*; public class Test{ public static void main(String args[]) throws Exception {//載入驅動DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //獲得連接 Connection conn = DriverManager.getConnection("jdbc:odbc:mydata", "sa",""); //創建存儲過程的對象 CallableStatement c = conn.prepareCall("{call proc_CSCO_SalesFctByStore(?,?,?,?)}"); //給存儲過程的第一個參數設置值
㈨ sql server 中 一個要輸入參數和輸出參數的存儲過程。
1、首先我們需要打開SQL Server Managment管理工具,新建一個表。
㈩ Oracle 帶輸出參數的存儲過程如何調用
create or replace procere detail_cs(a in number, b out number) is
begin
select 1+a into b from al;
end detail_cs;
create or replace procere call_test(a1 in number, b1 out number) is
begin
detail_cs(a1,b1);
end call_test;