社区
Java SE
帖子详情
sos...java怎样调用存储过程?
landii
2000-09-05 12:18:00
最好举个例子.
...全文
148
2
打赏
收藏
sos...java怎样调用存储过程?
最好举个例子.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
p9
2000-09-05
打赏
举报
回复
下面是调用 DB2 数据库存储过程的例子,如果是SQLSERVER,或ORACLE
则可能要把 CALL 改为 Execute.应该类似。
public static void callStoredProc (Connection con,
String tableName,
String name,
int percentModification,
String department) throws Exception
{
// prepare the CALL statement
CallableStatement stmt;
String sql = "Call " + name + "(?,?,?,?,?,?,?,?,?) ";
stmt = con.prepareCall (sql);
// register the output parameters
stmt.registerOutParameter (4, Types.DOUBLE);
stmt.registerOutParameter (5, Types.DOUBLE);
stmt.registerOutParameter (6, Types.DOUBLE);
stmt.registerOutParameter (7, Types.DOUBLE);
stmt.registerOutParameter (8, Types.INTEGER);
stmt.registerOutParameter (9, Types.CHAR);
// set all parameters (input and output)
double totalPayrollBefore = 0.00;
double totalPayrollAfter = 0.00;
double averageSalaryBefore = 0.00;
double averageSalaryAfter = 0.00;
String medianEmployeeName = "This field is not defined yet";
int numberOfUpdates = 0;
stmt.setString (1, tableName);
stmt.setInt (2, percentModification);
stmt.setString (3, department);
stmt.setDouble (4, totalPayrollBefore);
stmt.setDouble (5, totalPayrollAfter);
stmt.setDouble (6, averageSalaryBefore);
stmt.setDouble (7, averageSalaryAfter);
stmt.setInt (8, numberOfUpdates);
stmt.setString (9, medianEmployeeName);
// call the stored procedure
System.out.println ("\n Calling stored procedure: " + name);
stmt.execute ();
System.out.println ("\n Returned from stored procedure: " + name);
// retrieve output parameters
BigDecimal totPayBefore = new BigDecimal (stmt.getDouble (4));
BigDecimal totPayAfter = new BigDecimal (stmt.getDouble (5));
BigDecimal avgSalBefore = new BigDecimal (stmt.getDouble (6));
BigDecimal avgSalAfter = new BigDecimal (stmt.getDouble (7));
numberOfUpdates = stmt.getInt (8);
medianEmployeeName = stmt.getString (9);
// display the information returned from the stored procedure
System.out.println ();
System.out.println (" Percent modification: " +
percentModification + "%");
System.out.println (" Department being modified: " +
department);
System.out.println ();
System.out.println (" Total payroll before: $ " +
totPayBefore.setScale (2, totPayBefore.ROUND_HALF_UP));
System.out.println (" Average salary before: $ " +
avgSalBefore.setScale (2, avgSalBefore.ROUND_HALF_UP));
System.out.println ();
System.out.println (" Number of salary modifications: " +
numberOfUpdates);
System.out.println ();
System.out.println (" Total payroll after: $ " +
totPayAfter.setScale (2, totPayAfter.ROUND_HALF_UP));
System.out.println (" Average salary after: $ " +
avgSalAfter.setScale (2, avgSalAfter.ROUND_HALF_UP));
System.out.println ();
System.out.println (" Median Employee Name: " +
medianEmployeeName);
stmt.close ();
}
leslielu
2000-09-05
打赏
举报
回复
我不知道你指的是什么数据库的存储过程.
在SQL7.0中,我是直接调用的.
举个例子:
public void CreatTable(String stable)
{
String strSql="sp_creatmail '"+stable+"'";
try{
stmt.executeUpdate(strSql);
}catch(Exception e)
{
}
}
其实,都是一个SQL的指令,所以完全可以和你直接调用标准的SQL一样调用,如果有返回集,使用
executeQuery().
程序设计基础答案
在
Java
语言中,所有的数组都有一个length属性,这个属性存储了该数组的___________。 15.在
Java
语言中,为将源代码翻译成____________时产生的错误称为编译错误。而将程序在运行中产生的错误称为运行错误。 ...
worldwind
java
源码-proteus:用于传感器观察服务(
SOS
)数据发现的桌面客户端
世界风
java
源码变形杆菌 该存储库包含 Proteus 的源代码。 Proteus 是用于传感器发现和管理的桌面客户端 发展 下面介绍软件依赖以及如何从源代码编译和构建 Proteus。 软件依赖 Proteus 使用 构建并具有以下依赖项:...
java
3d源码-lib-swe-common:SWE公共数据模型的完整
Java
实现
java
3d源码此存储库已于 2020 年 4 月 14 日存档。 请使用 任何新工作。 SWE 公共库 (lib-swe-common) 这个开源项目旨在构建一个
JAVA
API 和 SWE(传感器网络启用)通用数据模型的实现,该模型可轻松用于访问和生成...
DataCollection:REST API和数据收集
使用命令行将该存储库克隆(或复制)到您自己的计算机上,以便您拥有我们今天将要使用的代码的副本。 git clone https://github.com/REU-
SOS
/DataCollection.git 3.测试样本代码 这会将节点软件包安装到node_...
SportsInAdmin
SportsInAdmin 此应用程序是为Tech Point
SOS
挑战创建的。此aap包含3部分主要aap,即sportsIn,而不是可在我的存储库中找到的gameMode和AdminMode。 Fire数据库已用于存储有关用户的所有信息。 为了获得最佳结果,您...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章