java如何调用存储过程? 我是一个存储过程初学者,希望大家帮忙首先,需要提供一个可以返回结果集的存储过程,比如select id,name from tableA然后,如何在java里用ArrayList来得到这个结果集。谢谢了,希望能给出详细代码,不胜感激 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用CallableStatement来实现我是这样实现的: Connection con = null; CallableStatement proc = null ; ResultSet rs = null; Vector vt = new Vector(); String sql=""; try { sql = "{call pkg_test.TEST_GET('','',?)} "; System.out.println("test1"); proc=con.prepareCall(sql); System.out.println("test2"); proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR); proc.execute(); System.out.println("test3"); rs=(ResultSet)proc.getObject(1); System.out.println("test4"); while(rs.next()){ System.out.println(rs.getString(1)); } rs.close(); proc.close(); 我使用的是mssql2005,能给一个返回结果集的存储过程么?返回结果集的存储过程我也不知道怎么写 上面的是你的存储过程是一个包的形式,也可以是一个方法或者一个过程...就是改改sql = "{call pkg_test.TEST_GET('','',?)} ";如果是方法那么就写 select funName from tableName不知道你用什么数据库我用的OracletableName 写的是 Dual不知你用什么数据库可以找一下相对的默认的表 proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR); 这句必须有么?表示什么意思 .........呵呵哪你还没有写出存储过程么?我没有写过mssql2005的存储过程但是写给Oracle的就是用游标来查找贝..... 我使用的是mssql2005,能针对mssql2005再给个详细的么?谢谢了 proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR); 这句必须有么?表示什么意思这是序列化游标的语句如果写成包的形式必须的有的... 呵呵不好意思如果是mssql2005 我还真无能为力了不过我估计都差不多吧... eclipse如何在控制台显示程序运行时间 java如何连接sql2005呢 一个关于for的问题 软考报名时的照片问题 java连接SQL Server 2000在问题 如何在JEDITORPANE中显示文本和图片(混合)!!!!!!!!!!!!!!!!!!! smtp问题。 如何用jb7做成可执行程序? 送分!!!入门的选择?? webservice是否提供了对文件的读取的方便支持?????? 如何根据日期获取log4j的日志文件名? JAVA 中 如何从USB摄像头获得视频输入(来者有分..不够再加..)
来实现
我是这样实现的:
Connection con = null;
CallableStatement proc = null ;
ResultSet rs = null;
Vector vt = new Vector();
String sql="";
try {
sql = "{call pkg_test.TEST_GET('','',?)} ";
System.out.println("test1");
proc=con.prepareCall(sql);
System.out.println("test2");
proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
proc.execute();
System.out.println("test3");
rs=(ResultSet)proc.getObject(1);
System.out.println("test4");
while(rs.next()){
System.out.println(rs.getString(1));
}
rs.close();
proc.close();
也可以是一个方法或者一个过程...就是改改
sql = "{call pkg_test.TEST_GET('','',?)} ";
如果是方法
那么就写 select funName from tableName不知道你用什么数据库
我用的Oracle
tableName 写的是 Dual
不知你用什么数据库
可以找一下相对的默认的表
呵呵
哪你还没有写出存储过程么?
我没有写过mssql2005的存储过程
但是写给Oracle的
就是用游标来查找贝.....
必须的有的...
不好意思
如果是
mssql2005
我还真无能为力了
不过我估计都差不多吧...