java怎么调用存储过程?希望给个完整的实例代码!!!!!!
请问java调用sqlserver2000数据库存储过程的方法和思想,及其怎么利用结果? 
 迷惘中!!! 
 谢谢!!!
------解决方案--------------------用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 null 
 begin drop procedure Customer_Insert end   
 go 
 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:41   
 import 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 
 一样可以访问。网上很多,比较容易的。祝你好运! 
------解决方案--------------------mark
------解决方案--------------------mark 
------解决方案--------------------CallableStatement cst = con.prepareCall( "{call bao.goucheng(?,?,?)} "); 
 明白?