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