JAVA中对存储过程的调用方法(三) 删除数据的存储过程

三、删除数据的存储过程

------------------存储过程--------------------------

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 StuID=@StuID
--创建完毕
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 conn=DriverManager.getConnection("jdbc:odbc:mydata","sa","");

//创建存储过程的对象
CallableStatement c=conn.divpareCall("{call delePro(?)}");

c.setInt(1,1);

c.execute();

c=conn.divpareCall("{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();
}
}

时间: 2024-10-31 18:35:37

JAVA中对存储过程的调用方法(三) 删除数据的存储过程的相关文章

java中没有方法体的方法是什么方法,

问题描述 java中没有方法体的方法是什么方法, java中没有方法体的方法是什么方法,省略方法体的方法是什么方法,如何区分一个没有方法体的方法到底是省略了方法体还是木有方法体? 解决方案 Java规范中没有或方法体为空的方法主要包括:抽象方法.接口方法.native修饰的本地方法. 如果非要语言化表述,应该可以这样描述: 抽象类中的方法--方法体为空 接口中的方法--没有方法体 本地方法--方法体需要被省略 解决方案二: 你说的应该是抽象方法,或者是写在接口中的函数定义.定义为abstract

java中 静态类.静态方法 。类.方法。 静态类.方法。 对象.方法。他们之间的区别是什么?

问题描述 java中 静态类.静态方法 .类.方法. 静态类.方法. 对象.方法.他们之间的区别是什么? java中 静态类.静态方法 .类.方法. 静态类.方法. 对象.方法.他们之间的区别是什么? 解决方案 [少废话,上代码]: // 外部类,不能是静态的 public class OuterClass { // 静态方法,又称为类方法,属于Test类 public static void staticFun() { } // 非静态方法,又称为实例方法,属于Test类的具体实例 publi

java中的函数的调用问题

问题描述 java中的函数的调用问题 新人初学java,有这样一个比较弱智的问题一直没有搞懂 我不知道在一个类中的函数方法能不能互相调用 public class A{ void b(){} void a(){ b(): } 我不知道这样对不对,麻烦各位了,谢谢 } 解决方案 这样是可以,类中的函数可以互调,对所以可见的函数都可以互调. 解决方案二: 可以的,方法本身也可以调用自己 解决方案三: 现在有一个Java函数,如下:......答案就在这里:请教c++中调用Java函数问题 解决方案四

java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗

问题描述 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 解决方案 加入你有一个对象 Object 里面有个方法:public void method1(); 那你调用这个方法的时候就是 object.method1(); 那么这里就表示 没有返回值. 所以我里面的void就是 :没有返回值,这个方法不能做他用! 对比 有一个object 里面有一个方法: publ

关于Java中停止线程执行的方法总结

Java中停止线程执行的方法 一.暂停或停止线程的理论 在Java编程中,要暂停或停止当前正在运行的线程,有几种方法.对于把线程转入睡眠Sleep状态,使用Thread.sleep()是最正确的方式.或许有人会问,为什么不使用等待wait()或通知notify()?要知道,使用等待或通知都不是很好的方式.线程可以使用等待wait()实现被阻塞,这属于条件等待的方式,当条件满足后,又会从阻塞转为等待状态.尽管可以在等待wait()条件那里放一个超时设置,但等待wait()的设计目的不是这样的,等待

java中List对象排序通用方法_java

本文实例讲述了java中List对象排序通用方法.分享给大家供大家参考.具体分析如下: 在数据库中查出来的列表list中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询.如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高系统的性能. 只要把第一次查出来的结果存放在session中,就可以对list重新排序了.一般对list排序可以使用Collections.sort(list),但如果list中包含是一个对象的话,这种方法还是行不通的.那要怎么排序

java中的system.out.println()方法问题

问题描述 java中的system.out.println()方法问题 java中的system.out.println()方法问题这个println方法看过被其他类的对象调么println方法是不是静态方法这个方法的访问权限修饰符是什么 解决方案 可以,你可以重写,然后调用 解决方案二: 首先System.out是一个类,println是该类的静态方法 解决方案三: 其它类也可以有这个方法呀 解决方案四: println是静态方法,System.out是类 解决方案五: println是静态方

java中类似C的write方法,有没有!!

问题描述 C语言write函数:write(intfd,constvoid*buf,size_tnbytes)write函数将buf中的nbytes字节内容写入文件描述符fd.成功时返回写的字节数.失败时返回-1.并设置errno变量.在网络程序中,当我们向套接字文件描述符写时有俩种可能.1)write的返回值大于0,表示写了部分或者是全部的数据.2)返回的值小于0,此时出现了错误.我们要根据错误类型来处理.如果错误为EINTR表示在写的时候出现了中断错误.如果为EPIPE表示网络连接出现了问题

java中System.out.println( );这个方法是

问题描述 java中System.out.println( );这个方法是 java中System.out.println( );这个方法是System类里的out对象的println方法的意思,即类.对象.方法 解决方案 对,就是这个意思.... 解决方案二: 假设有一个实例Object o则当System.out.println(o);时,它其实是自动调用o.toString()方法,然后输出该方法返回的string字符串.当System.out.println(o.toString());