A. 請問:如何在java中調用oracle的存儲過程並獲得返回參數的值
我QQ:342398690 我有代碼在我自己的電腦,現在在學校機房,加我,我發給你,然後再給你解釋
B. Java類中的方法參數為int[][] a,在該方法中如何獲得該數組存儲數據的行數和每行的數據個數
public int[] getMaxIndex(int[] arr){ if(arr==null||arr.length==0){ return null;//如果數組為空 或者是長度為0 就返回null } int maxIndex=0;//假設第一個元素為最大值 那麼下標設為0 int[] arrnew=new int[2];//設置一個 長度為2的數組 用作記錄 規定第一個元素存儲最大值 第二個元素存儲下標 for(int i =0;i<arr.length-1;i++){ if(arr[maxIndex]<arr[i+1]){ maxIndex=i+1; arrnew[0]=arr[maxIndex]; arrnew[1]=maxIndex; } } return arrnew; } 希望能幫到你 謝謝
C. 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(); //得到存儲過程的輸出參數值
D. java 創建一個名稱為list的類。可以存儲任何類型的參數
java提供了list set map 3中集合 list集合可以存放任何類型的參數
import java.io.Serializable; //所有數據類型的父類,
public class list(){
public static void main(String[] args){
List list = new ArrayList();
list(list,1); //調用下面的list方法 存放int類型的 1
list(list,"a"); //存放String 類型的a
System.out.println(list.get(0)+":"+list.get(1)); //列印list 的 第一個 和第二個值
}
public static void list(List list,Serializable ser){
list.add(ser);
}
}
E. 在JAVA中怎麼調用帶參數的存儲過程啊
JDBC調用存儲過程: CallableStatement
在Java裡面調用存儲過程,寫法那是相當的固定:
Class.forName(....
Connection conn = DriverManager.getConnection(....
/**
*p是要調用的存儲過程的名字,存儲過程的4個參數,用4個?號佔位符代替
*其餘地方寫法固定
*/
CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}");
/**
*告訴JDBC,這些個參數,哪些是輸出參數,輸出參數的類型用java.sql.Types來指定
*下面的意思是,第3個?和第4個?是輸出參數,類型是INTEGER的
*Types後面具體寫什麼類型,得看你的存儲過程參數怎麼定義的
*/
cstmt.registerOutParameter(3, Types.INTEGER);
cstmt.registerOutParameter(4, Types.INTEGER);
/**
*在我這里第1個?和第2個?是輸入參數,第3個是輸出參數,第4個既輸入又輸出
*下面是設置他們的值,第一個設為3,第二個設為4,第4個設置為5
*沒設第3個,因為它是輸出參數
*/
cstmt.setInt(1, 3);
cstmt.setInt(2, 4);
cstmt.setInt(4, 5);
//執行
cstmt.execute();
//把第3個參數的值當成int類型拿出來
int three = cstmt.getInt(3);
System.out.println(three);
//把第4個參數的值當成int類型拿出來
int four = cstmt.getInt(4);
System.out.println(four);
//用完別忘給人家關了,後開的先關
cstmt.close();
conn.close();
JDBC調用存儲過程,掌握這一個程序足夠了.
以下是上面程序使用的存儲過程的代碼,我用的是Oracle資料庫,不過不論是什麼資料庫,對於你的程序,JDBC這一端寫法都是一樣的.
create or replace procere p
(v_a in number,v_b number,v_ret out number,v_temp in out number)
is
begin
if(v_a > v_b) then
v_ret := v_a;
else
v_ret := v_b;
end if;
v_temp := v_temp + 1;
end;
F. Java方法的參數的值哪裡來的
java方法中的參數屬於形參,而在調用方法是傳入的是實參,我們一般通過調用時給方法傳入實參
G. java中如何調用帶有數組類型參數的存儲過程
java.sql
介面 Array
所有已知實現類:
SerialArray
SQL 類型 ARRAY 在 Java 編程語言中的映射關系。默認情況下,Array 值是對 SQL ARRAY 值的事務處理期引用。默認情況下,Array 對象是使用 SQL LOCATOR(array) 內部實現的,這意味著 Array 對象包含一個指向 SQL ARRAY 值中數據的邏輯指針,而不是包含 ARRAY 值的數據。
Array 介面提供了某些方法將 SQL ARRAY 值的數據作為數組或 ResultSet 對象傳送到客戶端。如果 SQL ARRAY 的元素是一個 UDT,那麼可以自定義映射它們。要創建自定義映射關系,編程人員必須做兩件事:
為將被自定義映射的 UDT 創建一個實現 SQLData 介面的類。
在類型映射表中生成一個項,該項包含
UDT 的完全限定 SQL 類型名稱
實現 SQLData 的類的 Class 對象
在將帶有對應於基本類型的項的類型映射表提供給 getArray 和 getResultSet 方法時,該表所包含的映射關系將用於映射 ARRAY 值的元素。如果沒有提供類型映射表(通常是這種情況),則默認使用連接的類型映射表。如果該連接的類型映射表或為某一方法提供的類型映射表沒有對應於基本類型的項,則根據標准映射關系來映射這些元素。
getArray()
以 Java 編程語言數組的形式檢索由此 Array 對象指定的 SQL ARRAY 值的內容。
getArray(long index, int count)
檢索由此 Array 對象指定的 SQL ARRAY 值的一部分,從指定 index 開始,包含 SQL 數組中 count 個連續元素。
getArray(long index, int count, Map<String,Class<?>> map)
檢索由此 ARRAY 對象指定的 SQL Array 值的一部分,從指定 index 開始,包含 SQL 數組中 count 個連續元素。
getArray(Map<String,Class<?>> map)
檢索由此 Array 對象指定的 SQL ARRAY 值的內容。
getBaseType()
在由此 Array 對象指定的數組中檢索元素的 JDBC 類型。
getBaseTypeName()
在由此 Array 對象指定的數組中檢索元素的 SQL 類型名稱。
getResultSet()
檢索包含此 Array 對象指定的 SQL ARRAY 值的元素的結果集合。
getResultSet(long index, int count)
檢索保存子數組的元素的結果集合,從索引 index 開始,包含 count 個連續元素。
getResultSet(long index, int count, Map<String,Class<?>> map)
檢索保存子數組的元素的結果集合,從索引 index 開始,包含 count 個連續元素。
getResultSet(Map<String,Class<?>> map)
檢索包含由此 Array 對象指定的 SQL ARRAY 值的元素的結果集合。
H. java 參數 變數區別 是什麼
變數,就是JAVA中數據存儲空間的表示,而參數也就是所謂的值;參數可以賦值給變數。
int
a
=30;
int是數據類型;
a
是變數名
30就是參數,這個表達是的意思就是把30賦值給a