java怎么调用存储过程?希望给个完整的实例代码!!!!!! 请问java调用sqlserver2000数据库存储过程的方法和思想,及其怎么利用结果?迷惘中!!!谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用CallableStatement 你搜一下这个吧。网上很多现成的例子。我现在没有现成的例子。 1. 某个数据库中有个Customer_Table表:create table Customer_Table( customerID varchar(14), customerName varchar(20), phone varchar(14), email varchar(30), address varchar(50), customerIntro varchar(100), regDate datetime, primary key(customerID))2. 然后有个存储过程Customer_Insert:if object_id(Customer_Insert) is not nullbegin drop procedure Customer_Insert endgocreate procedure Customer_Insert( @customerID varchar(14), @customerName varchar(20), @phone varchar(14), @email varchar(30), @address varchar(50), @customerIntro varchar(100)) asinsert into Customer_Table values(@customerID, @customerName, @phone, @email, @address, @customerIntro, GETDATE());3. 最后是完整的示范程序:// CallProcedure.java -- 调用存储过程示例。// 2007-01-10 18:41import java.sql.*;public class CallProcedure { public static void main(String[] args) { String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_course"; String user ="sa"; // user name String password = "sqlserversaps"; // password try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); Connection con = DriverManager.getConnection(url, user, password); CallableStatement cstmt = con.prepareCall( "{call Customer_Insert(?, ?, ?, ?, ?, ?)}"); cstmt.setString(1, "111111111"); cstmt.setString(2, "111111111"); cstmt.setString(3, "111111111"); cstmt.setString(4, "111@11111"); cstmt.setString(5, "111111111"); cstmt.setString(6, "111111111"); cstmt.execute(); System.out.println("Done!"); } catch(Exception e) { e.printStackTrace(); } }} 请问java调用sqlserver2000数据库存储过程的方法和思想,及其怎么利用结果?根据数据库本身存储过程如何返回参数而定,String strSQL = "{? = call UP_QLINECHGNEW(?)}"; db2Conn.setAutoCommit(false); CallableStatement sqlstmt = db2Conn.prepareCall(strSQL); sqlstmt.setString(2, "111111111"); sqlstmt.registerOutParameter(1,Types.INTEGER); //这个就是返回参数,另外返回类型注意,另外如果返回的是结果集得话。如同访问数据库一样得到resultSet一样可以访问。网上很多,比较容易的。祝你好运! CallableStatement cst = con.prepareCall("{call bao.goucheng(?,?,?)}");明白? JAVA怎么变成实现发短信功能 (新手求救)关于File类很简单的创建文件,可创建不出来 读入任一个整数.判断是否符合YYYYMMDD格式 并给出提示 thinking in Java 中的一个例子? 在windows下写的JAVA类中的中文,放到linux/unix环境下就变成乱码,怎么办? 菜鸟提问:关于环境变量ClassPath和Lib的区别问题 基础:滚动窗格的问题??? 区别是什么? jtable的显示问题??????(在线等待) 谁能教教我怎么在linux(redhat8.0)下开发java? JAVA 时间相减问题---->高手支招 java 日历?
create table Customer_Table(
customerID varchar(14),
customerName varchar(20),
phone varchar(14),
email varchar(30),
address varchar(50),
customerIntro varchar(100),
regDate datetime,
primary key(customerID)
)2. 然后有个存储过程Customer_Insert:
if object_id(Customer_Insert) is not null
begin drop procedure Customer_Insert endgo
create procedure Customer_Insert(
@customerID varchar(14),
@customerName varchar(20),
@phone varchar(14),
@email varchar(30),
@address varchar(50),
@customerIntro varchar(100)
) as
insert into Customer_Table
values(@customerID, @customerName, @phone, @email, @address,
@customerIntro, GETDATE());3. 最后是完整的示范程序:
// CallProcedure.java -- 调用存储过程示例。
// 2007-01-10 18:41import java.sql.*;public class CallProcedure {
public static void main(String[] args) {
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_course";
String user ="sa"; // user name
String password = "sqlserversaps"; // password
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection(url, user, password);
CallableStatement cstmt = con.prepareCall(
"{call Customer_Insert(?, ?, ?, ?, ?, ?)}");
cstmt.setString(1, "111111111");
cstmt.setString(2, "111111111");
cstmt.setString(3, "111111111");
cstmt.setString(4, "111@11111");
cstmt.setString(5, "111111111");
cstmt.setString(6, "111111111");
cstmt.execute();
System.out.println("Done!");
}
catch(Exception e) {
e.printStackTrace();
}
}
}
根据数据库本身存储过程如何返回参数而定,
String strSQL = "{? = call UP_QLINECHGNEW(?)}";
db2Conn.setAutoCommit(false);
CallableStatement sqlstmt = db2Conn.prepareCall(strSQL);
sqlstmt.setString(2, "111111111");
sqlstmt.registerOutParameter(1,Types.INTEGER); //这个就是返回参数,另外返回类型注意,
另外如果返回的是结果集得话。如同访问数据库一样得到resultSet
一样可以访问。网上很多,比较容易的。祝你好运!
明白?