java调用存储过程
来源:互联网 发布:淘宝英雄联盟代练 编辑:程序博客网 时间:2024/06/02 07:25
创建存储过程的脚本,
使用sqlserver2000 中的pubs 数据库中的 jobs表为例.
create procedure showAll
as
select * from jobs
create procedure obtainJob_desc
@outputParam varchar(20) output,
@id int
as
select @outputParam = job_desc from jobs where job_id = @id
create procedure obtainReturn
as
declare @ret int
select @ret = count(*) from jobs
return @ret
declare @ret int
exec @ret = obtainReturn
print @ret
用来获得连接的函数
public Connection getConnection()...{
Connection con = null;
try ...{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs","sa","");
} catch (Exception e) ...{
e.printStackTrace();
}
return con ;
}
Connection con = null;
try ...{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs","sa","");
} catch (Exception e) ...{
e.printStackTrace();
}
return con ;
}
1,调用得到结果集的存储过程
public void getResultSet()...{
//获得连接
Connection con = this.getConnection();
try ...{
//showAll为存储过程名
java.sql.CallableStatement cstm = con.prepareCall("{call showAll }");
ResultSet rs = cstm.executeQuery();
while(rs.next())...{
//这里写逻辑代码。
System.out.println(rs.getString(1));
}
rs.close();
con.close();
} catch (SQLException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//获得连接
Connection con = this.getConnection();
try ...{
//showAll为存储过程名
java.sql.CallableStatement cstm = con.prepareCall("{call showAll }");
ResultSet rs = cstm.executeQuery();
while(rs.next())...{
//这里写逻辑代码。
System.out.println(rs.getString(1));
}
rs.close();
con.close();
} catch (SQLException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2,调用带有 输入 ,输出 参数的存储过程。
public void getOutParameter(int inParam)...{
String outParam;
Connection con = this.getConnection();
try ...{
CallableStatement cstm = con.prepareCall("{call obtainJob_desc (?,?)}");
cstm.registerOutParameter(1, Types.VARCHAR);
cstm.setInt(2, inParam);
cstm.execute();;
//得到输出参数。
String outParma = cstm.getString(2);
System.out.println(outParma);
cstm.close();
con.close();
} catch (SQLException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
String outParam;
Connection con = this.getConnection();
try ...{
CallableStatement cstm = con.prepareCall("{call obtainJob_desc (?,?)}");
cstm.registerOutParameter(1, Types.VARCHAR);
cstm.setInt(2, inParam);
cstm.execute();;
//得到输出参数。
String outParma = cstm.getString(2);
System.out.println(outParma);
cstm.close();
con.close();
} catch (SQLException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
3,调用带返回值的存储过程。
public void getReturn()...{
int ret;
Connection con = this.getConnection();
try ...{
CallableStatement cstm = con.prepareCall("{?=call obtainReturn()}");
cstm.registerOutParameter(1, Types.INTEGER);
cstm.execute();
//得到返回值
ret = cstm.getInt(1);
System.out.println(ret);
cstm.close();
con.close();
} catch (SQLException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
int ret;
Connection con = this.getConnection();
try ...{
CallableStatement cstm = con.prepareCall("{?=call obtainReturn()}");
cstm.registerOutParameter(1, Types.INTEGER);
cstm.execute();
//得到返回值
ret = cstm.getInt(1);
System.out.println(ret);
cstm.close();
con.close();
} catch (SQLException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
- Java调用存储过程
- Java 调用存储过程
- Java 调用存储过程
- JAVA调用存储过程
- java调用存储过程
- java调用存储过程
- Java调用存储过程
- java调用存储过程
- java调用存储过程
- java 调用存储过程
- JAVA调用存储过程
- java调用存储过程
- java调用存储过程
- java 调用存储过程
- Java调用存储过程
- java调用存储过程
- java调用存储过程
- Java调用存储过程
- 第78届奥斯卡金像奖获奖名单
- 第77届奥斯卡完全获奖名单
- Servlet和Filter的url匹配url-pattern
- 流状态的查询和控制
- jsp无法运行,报错HTTP Status 500
- java调用存储过程
- 第76届奥斯卡金像奖完全获奖名单
- 初出茅庐
- Eclipse积累
- [转]index.dat文件剖析
- 进程的映像
- c#开机自动启动程序实现代码
- 其实每个人都应该有自己的生活
- 商业周刊:游戏业2008年趋势展望