import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class CallableStmt {
public static void main(String args[]) throws Exception {
String storedProc = "create procedure SHOW_ORDERS_BY_STATE @State CHAR (2) as "
+ "select c.Last_Name+', '+c.First_Name AS Name,o.Order_Number "
+ "from CUSTOMERS c, ORDERS o where c.Customer_Number = o.Customer_Number "
+ "AND c.State = @State order by c.Last_Name;";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Customers");
Statement stmt = con.createStatement();
stmt.executeUpdate(storedProc);
CallableStatement cs = con.prepareCall("{call SHOW_ORDERS_BY_STATE(?)}");
cs.setString(1, "NJ");
ResultSet rs = cs.executeQuery();
while (rs.next()) {
String name = rs.getString("Name");
int orderNo = rs.getInt("Order_Number");
System.out.println(name + ": " + orderNo);
}
}
}
|