oracle包下的存储过程代码:
create or replace package body delete_add_updata
is
procedure addDoctor(doc_id in varchar,doc_office in varchar,doc_name in varchar,
doc_sex in varchar,doc_age in NUMBER,doc_title in varchar,doc_cost in NUMBER)
is
begin
insert into ora_doctor(ora_doctor.DOCTOR_ID,ora_doctor.OFFICE_NAME,ora_doctor.DOCTOR_NAME,ora_doctor.DOCTOR_SEX,ora_doctor.DOCTOR_AGE,ora_doctor.DOCTOR_TITLE,ora_doctor.DOCTOR_COST)
values(doc_id,doc_office,doc_name,doc_sex,doc_age,doc_title,doc_cost);
commit;
end addDoctor;
java代码:
//增加医生
public boolean adddoctor(String doctorid,String doctoroffice,String doctorname,String doctorsex,int doctorage,String doctortitle,double doctorcost) {Connection con=oo.getConnection("system", "Oracle11g");
boolean flage=false;
try {
CallableStatement proc = null; //创建执行存储过程的对象
//1、call+包名+存储过程名(传入、传出值用?)
proc = con.prepareCall("{ call delete_add_updata.addDoctor(?,?,?,?,?,?,?) }"); //设置存储过程 call为关键字.
proc.setString(1, doctorid); //设置第一个输入参数
proc.setString(2, doctoroffice);//设置第二个输入参数
proc.setString(3, doctorname); //设置第三个输入参数
proc.setString(4, doctorsex); //设置第四个输入参数
proc.setInt(5, doctorage); //设置第五个输入参数
proc.setString(6, doctortitle);//设置第六个输入参数
proc.setDouble(7, doctorcost); //设置第七个输入参数 double
proc.execute();//执行
flage=true;
System.out.println("增加医生成功");
con.close();//关闭连接
} catch (SQLException e) {
e.printStackTrace();
flage=false;
}
return flage;
}