已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一:Java如何实现对存储过程的调用: A:不带输出参数的 -不带输出参数的-create procedure getsumn int =0asdeclare sum intdeclare i intset sum=0set i=0while i=n beginset sum=sum+iset i=i+1endprint 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 /加载驱动 new sun.jdbc.odbc.JdbcOdbcDriver() 是sun提供的jdbc-odbc桥的驱动类。这个是类的名字。Class.forName(new sun.jdbc.odbc.JdbcOdbcDriver(); /获得连接 Connection conn=DriverManager.getConnection(jdbc:odbc:mydata,sa,); /创建存储过程的对象 CallableStatement c=conn.prepareCall(call getsum(?); /给存储过程的参数设置值 c.setInt(1,100); /将第一个参数的值设置成100 /执行存储过程 c.execute(); conn.close(); B:带输出参数的 1:返回int -带输出参数的-alter procedure getsumn int =0,result int outputasdeclare sum intdeclare i intset sum=0set i=0while i=n beginset sum=sum+iset i=i+1endset result=sum -在查询分析器中执行- declare myResult intexec getsum 100,myResult outputprint myResult -在JAVA中调用-import java.sql.*;public class ProcedureTest public static void main(String args) throws Exception /加载驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver(); /获得连接 Connection conn=DriverManager.getConnection(jdbc:odbc:mydata,sa,); /创建存储过程的对象 CallableStatement c=conn.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 -存储过程带游标-在存储过程中带游标 使用游标不停的遍历orderidcreate procedure CursorIntoProcedurepname varchar(8000) outputas-定义游标declare cur cursor for select orderid from orders-定义一个变量来接收游标的值declare v varchar(5)-打开游标open curset pname=-给pname初值-提取游标的值fetch next from cur into vwhile fetch_status=0 beginset pname=pname+;+v fetch next from cur into vendprint 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 conn=DriverManager.getConnection(jdbc:odbc:mydata,sa,); CallableStatement c=conn.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 intforeign key(StuID) references 学生基本信息表(StuID)on delete cascadeon update cascade) insert into 学生成绩表 values(1,99,100)insert into 学生成绩表 values(2,99,100)-创建存储过程 create procedure deleProStuID intasdelete from 学生基本信息表 where StuID=StuID-创建完毕exec delePro 1 -执行存储过程-创建存储过程create procedure seleProasselect * 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 conn=DriverManager.getConnection(jdbc:odbc:mydata,sa,); /创建存储过程的对象 CallableStatement c=conn.prepareCall(call delePro(?); c.setInt(1,1); c.execute(); c=conn.prepareCall(call selePro); ResultSet rs=c.executeQuery(); while(rs.next() String Stu=rs.getString(StuID); String name=rs.getString(StuName); String add=rs.getString(StuAddress); System.out.println (学号:+ +姓名:+ +地址); System.out.println (Stu+ +name+ +add); c.close(); D:修改数据的存储过程-创建存储过程- create procedure ModProStuID int,StuName varchar(10)asupdate 学生基本信息表 set StuName=StuName where StuID=StuID -执行存储过程-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 conn=DriverManager.getConnection(jdbc:odbc:mydata,sa,); /创建存储过程的对象 CallableStatement c=conn.prepareCall(call ModPro(?,?); c.setInt(1,2); c.setString(2,美女); c.execute(); c=conn.prepareCall(call selePro); ResultSet rs=c.executeQuery(); while(rs.next() String Stu=rs.getString(StuID); String name=rs.getString(StuName); String add=rs.getString(StuAddress); System.out.println (学号:+ +姓名:+ +地址); System.out.println (Stu+ +name+ +add); c.close(); E:查询数据的存储过程(模糊查询) -存储过程-create procedure FindCustscust varchar(10)asselect 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 conn=DriverManager.getConnection(jdbc:odbc:mydata,sa,); /创建存储过程的对象 CallableStatement c=conn.prepareCall(call FindCusts(?); c.setString(1,Tom); ResultSet rs=c.executeQuery(); while(rs.next() String cust=rs.getString(customerid); System.out.println (cust); c.close(); F:增加数据的存储过程-存储过程-create procedure InsertProStuID int,StuName varchar(10),StuAddress varchar(20)asinsert 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 conn=DriverManager.getConnection(jdbc:odbc:mydata,sa,); /创建存储过程的对象 CallableStatement c=conn.prepareCall(call InsertPro(?,?,?); c.setInt(1,6); c.setString(2,Liu); c.setString(3,wuhan); c.execute(); c=conn.prepareCall(call selePro); ResultSet rs=c.executeQuery(); while(rs.next() String stuid=rs.getString(StuID); String name=rs.getString(StuName); String address=rs.getString(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026蔚来面试题及答案
- 2026乌克兰面试题库及答案
- 2026下乡活动面试题目及答案
- 2026象牙塔的面试题及答案
- 2026新疆职校面试题目及答案
- 2026年护理核心制度试题及答案
- 2026年院感试题及答案
- 表单系统开发与合作协议二篇
- 【教学设计】《语文园地六》
- 【教学设计】《习作:我的心儿怦怦跳》
- 2026第二季度广西钦州市钦南区发展投资集团有限公司人才招聘2人笔试题库(考试直接用)附答案详解
- 电梯工程质量监理评估报告模板
- 2025广东省深圳市中考历史真题(解析版)
- 2026年混凝土结构检测试题及答案
- 门诊一站式服务流程建设方案
- 浙江省食用农产品批发市场食品安全主体责任清单与技术评审指南(2023版)
- 注册安全工程师考试金属冶炼(中级)安全生产专业实务复习难点详解
- 大型赛事活动安保服务方案投标文件(技术标)
- 眼科门诊部安全责任制度
- 呼吸内科临床诊疗指南(2025版)
- 2026届上海市各区高三语文一模试题汇编之古诗鉴赏试题及答案解析
评论
0/150
提交评论