小弟分别在两个类中写了两个方法,一个是用来往数据库中添加数据的方法getOracleData(),另一个负责从控制台接收数据的方法getData()。但是如何才能将getData()获得的数据返回给getOracleData()中呢?
这个是getOracleData()方法,在“DB_Operations”类中- // 抽出添加数据的方法
- public static void getOracleAddData() throws Exception{
-
- String[] st = new String[6];
- Connection conn = JDBC_Connections.getOracleConnection();
- String sql = "{call PRO_STU_ADD(?,?,?,?,?,?)}";
- CallableStatement cstmt = conn.prepareCall(sql);
- cstmt.clearBatch();
-
- try{
- //将学号数据转整形
- int i = Integer.parseInt(st[0]);
-
- //将分数数据转浮点型
- float f1 = Float.parseFloat(st[2]);
- float f2 = Float.parseFloat(st[3]);
- float f3 = Float.parseFloat(st[4]);
- float f4 = (f1+f2+f3)/3;
-
- cstmt.setInt(1,i);
- cstmt.setString(2,st[1]);
- cstmt.setFloat(3,f1);
- cstmt.setFloat(4,f2);
- cstmt.setFloat(5,f3);
- cstmt.setFloat(6,f4);
-
- //提交数据缓冲
- cstmt.addBatch();
- //提交数据
- conn.commit();
- System.out.println("数据插入成功!");
-
- }catch(Exception ex){
- ex.printStackTrace();
- }
- }
复制代码 这个是getData()方法,在Data_IO类中- public void getData() throws Exception{
- try{
-
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入学号:");
- st[0] = sc.nextLine();
- System.out.println("请输入姓名:");
- st[1] = sc.nextLine();
- System.out.println("请输入语文分数:");
- st[2] = sc.nextLine();
- System.out.println("请输入数学分数:");
- st[3] = sc.nextLine();
- System.out.println("请输入英语分数:");
- st[4] = sc.nextLine();
- DB_Operations.getOracleAddData();
-
- }catch(Exception ex){
- ex.printStackTrace();
- }
-
- }
复制代码 |