用h5做的网站,网上开店的基本流程,如何创立一个网站,长沙企业网站建立本文将介绍Java怎样实现对存数过程的调用方法#xff0c;作者用了几个样例进行了具体的说明#xff0c;简单明了#xff0c;很适合刚開始学习的人。 一、Java怎样实现对存储过程的调用#xff1a; A#xff1a;不带输出參数的 create procedure getsum n int 0--此处… 本文将介绍Java怎样实现对存数过程的调用方法作者用了几个样例进行了具体的说明简单明了很适合刚開始学习的人。 一、Java怎样实现对存储过程的调用 A不带输出參数的 create procedure getsum n int 0--此处为參数-- as declare sum int--定义变量-- declare i int set sum0 set i0 while in begin set sumsumi set ii1 end print the sum is ltrim(rtrim(str(sum))) 在SQL中运行 exec getsum 100 在JAVA中调用 JAVA能够调用 可是在JAVA程序却不能去显示该存储过程的结果 由于上面的存储过程的參数类型int 传递方式是in(按值)方式 import java.sql.*; public class ProcedureTest { public static void main(String args[]) throws Exception { //载入驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //获得连接 Connection connDriverManager.getConnection(jdbc:odbc:mydata,sa,); //创建存储过程的对象 CallableStatement cconn.prepareCall({call getsum(?)}); //给存储过程的參数设置值 c.setInt(1,100); //将第一个參数的值设置成100 //运行存储过程 c.execute(); conn.close(); } } B带输出參数的 1:返回int alter procedure getsum n int 0, result int output as declare sum int declare i int set sum0 set i0 while in begin set sumsumi set ii1 end set resultsum 在查询分析器中运行 declare myResult int exec getsum 100,myResult output print myResult 在JAVA中调用 import java.sql.*; public class ProcedureTest { public static void main(String args[]) throws Exception { //载入驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //获得连接 Connection connDriverManager.getConnection(jdbc:odbc:mydata,sa,); //创建存储过程的对象 CallableStatement cconn.prepareCall({call getsum(?,?)}); //给存储过程的第一个參数设置值 c.setInt(1,100); //注冊存储过程的第二个參数 c.registerOutParameter(2,java.sql.Types.INTEGER); //运行存储过程 c.execute(); //得到存储过程的输出參数值 System.out.println (c.getInt(2)); conn.close(); } } 2:返回varchar 存储过程带游标 在存储过程中带游标 使用游标不停的遍历orderid create procedure CursorIntoProcedure pname varchar(8000) output as --定义游标 declare cur cursor for select orderid from orders --定义一个变量来接收游标的值 declare v varchar(5) --打开游标 open cur set pname--给pname初值 --提取游标的值 fetch next from cur into v while fetch_status0 begin set pnamepname;v fetch next from cur into v end print pname --关闭游标 close cur --销毁游标 deallocate cur 运行存储过程 exec CursorIntoProcedure JAVA调用 import java.sql.*; public class ProcedureTest { public static void main(String args[]) throws Exception { //载入驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //获得连接 Connection connDriverManager.getConnection(jdbc:odbc:mydata,sa,); CallableStatement cconn.prepareCall({call CursorIntoProcedure(?)}); c.registerOutParameter(1,java.sql.Types.VARCHAR); c.execute(); System.out.println (c.getString(1)); conn.close(); } } C删除数据的存储过程 存储过程 drop table 学生基本信息表 create table 学生基本信息表 ( StuID int primary key, StuName varchar(10), StuAddress varchar(20) ) insert into 学生基本信息表 values(1,三毛,wuhan) insert into 学生基本信息表 values(2,三毛,wuhan) create table 学生成绩表 ( StuID int, Chinese int, PyhSics int foreign key(StuID) references 学生基本信息表(StuID) on delete cascade on update cascade ) insert into 学生成绩表 values(1,99,100) insert into 学生成绩表 values(2,99,100) 创建存储过程 create procedure delePro StuID int as delete from 学生基本信息表 where StuIDStuID --创建完成 exec delePro 1 --运行存储过程 --创建存储过程 create procedure selePro as select * from 学生基本信息表 --创建完成 exec selePro --运行存储过程 在JAVA中调用 import java.sql.*; public class ProcedureTest { public static void main(String args[]) throws Exception { //载入驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //获得连接 Connection connDriverManager.getConnection(jdbc:odbc:mydata,sa,); //创建存储过程的对象 CallableStatement cconn.prepareCall({call delePro(?)}); c.setInt(1,1); c.execute(); cconn.prepareCall({call selePro}); ResultSet rsc.executeQuery(); while(rs.next()) { String Sturs.getString(StuID); String namers.getString(StuName); String addrs.getString(StuAddress); System.out.println (学号: 姓名: 地址); System.out.println (Stu name add); } c.close(); } } D改动数据的存储过程 创建存储过程 create procedure ModPro StuID int, StuName varchar(10) as update 学生基本信息表 set StuNameStuName where StuIDStuID 运行存储过程 exec ModPro 2,四毛 JAVA调用存储过程 import java.sql.*; public class ProcedureTest { public static void main(String args[]) throws Exception { //载入驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //获得连接 Connection connDriverManager.getConnection(jdbc:odbc:mydata,sa,); //创建存储过程的对象 CallableStatement cconn.prepareCall({call ModPro(?,?)}); c.setInt(1,2); c.setString(2,美女); c.execute(); cconn.prepareCall({call selePro}); ResultSet rsc.executeQuery(); while(rs.next()) { String Sturs.getString(StuID); String namers.getString(StuName); String addrs.getString(StuAddress); System.out.println (学号: 姓名: 地址); System.out.println (Stu name add); } c.close(); } } E查询数据的存储过程(模糊查询) 存储过程 create procedure FindCusts cust varchar(10) as select customerid from orders where customerid like %cust% 运行 execute FindCusts alfki 在JAVA中调用 import java.sql.*; public class ProcedureTest { public static void main(String args[]) throws Exception { //载入驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //获得连接 Connection connDriverManager.getConnection(jdbc:odbc:mydata,sa,); //创建存储过程的对象 CallableStatement cconn.prepareCall({call FindCusts(?)}); c.setString(1,Tom); ResultSet rsc.executeQuery(); while(rs.next()) { String custrs.getString(customerid); System.out.println (cust); } c.close(); } } F添加数据的存储过程 存储过程 create procedure InsertPro StuID int, StuName varchar(10), StuAddress varchar(20) as insert into 学生基本信息表 values(StuID,StuName,StuAddress) 调用存储过程 exec InsertPro 5,555,555 在JAVA中运行 import java.sql.*; public class ProcedureTest { public static void main(String args[]) throws Exception { //载入驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //获得连接 Connection connDriverManager.getConnection(jdbc:odbc:mydata,sa,); //创建存储过程的对象 CallableStatement cconn.prepareCall({call InsertPro(?,?,?)}); c.setInt(1,6); c.setString(2,Liu); c.setString(3,wuhan); c.execute(); cconn.prepareCall({call selePro}); ResultSet rsc.executeQuery(); while(rs.next()) { String stuidrs.getString(StuID); String namers.getString(StuName); String addressrs.getString(StuAddress); System.out.println (stuid name address); } c.close(); } } G在JAVA中创建存储过程 而且在JAVA中直接调用 import java.sql.*; public class ProcedureTest { public static void main(String args[]) throws Exception { //载入驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //获得连接 Connection connDriverManager.getConnection(jdbc:odbc:mydata,sa,); Statement stmtconn.createStatement(); //在JAVA中创建存储过程 stmt.executeUpdate(create procedure OOP as select * from 学生成绩表); CallableStatement cconn.prepareCall({call OOP}); ResultSet rsc.executeQuery(); while(rs.next()) { String chinesers.getString(Chinese); System.out.println (chinese); } conn.close(); } } 转载于:https://www.cnblogs.com/mfrbuaa/p/4069690.html