A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张凯 中级黑马   /  2012-7-22 17:31  /  1305 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

小弟分别在两个类中写了两个方法,一个是用来往数据库中添加数据的方法getOracleData(),另一个负责从控制台接收数据的方法getData()。但是如何才能将getData()获得的数据返回给getOracleData()中呢?
这个是getOracleData()方法,在“DB_Operations”类中
  1.     // 抽出添加数据的方法
  2.     public static void getOracleAddData() throws Exception{
  3.         
  4.         String[] st = new String[6];
  5.         Connection conn = JDBC_Connections.getOracleConnection();
  6.         String sql = "{call PRO_STU_ADD(?,?,?,?,?,?)}";
  7.         CallableStatement cstmt = conn.prepareCall(sql);
  8.         cstmt.clearBatch();
  9.         
  10.         try{

  11.                 //将学号数据转整形
  12.                 int i = Integer.parseInt(st[0]);
  13.             
  14.                 //将分数数据转浮点型
  15.                 float f1 = Float.parseFloat(st[2]);
  16.                 float f2 = Float.parseFloat(st[3]);
  17.                 float f3 = Float.parseFloat(st[4]);
  18.                 float f4 = (f1+f2+f3)/3;
  19.                
  20.                 cstmt.setInt(1,i);
  21.                 cstmt.setString(2,st[1]);
  22.                 cstmt.setFloat(3,f1);
  23.                 cstmt.setFloat(4,f2);
  24.                 cstmt.setFloat(5,f3);
  25.                 cstmt.setFloat(6,f4);
  26.                
  27.                 //提交数据缓冲
  28.                 cstmt.addBatch();
  29.                 //提交数据
  30.                 conn.commit();
  31.                 System.out.println("数据插入成功!");
  32.                
  33.         }catch(Exception ex){
  34.             ex.printStackTrace();
  35.         }

  36.     }
复制代码
这个是getData()方法,在Data_IO类中
  1.     public void getData() throws Exception{
  2.         try{
  3.             
  4.             Scanner sc = new Scanner(System.in);
  5.             System.out.println("请输入学号:");
  6.             st[0] = sc.nextLine();
  7.             System.out.println("请输入姓名:");
  8.             st[1] = sc.nextLine();
  9.             System.out.println("请输入语文分数:");
  10.             st[2] = sc.nextLine();
  11.             System.out.println("请输入数学分数:");
  12.             st[3] = sc.nextLine();
  13.             System.out.println("请输入英语分数:");
  14.             st[4] = sc.nextLine();            
  15.             DB_Operations.getOracleAddData();
  16.             
  17.         }catch(Exception ex){
  18.             ex.printStackTrace();
  19.         }
  20.             
  21.     }
复制代码

评分

参与人数 2技术分 +1 黑马币 +2 收起 理由
魏-玉-彪 + 2 赞一个!
刘笑 + 1 赞一个!

查看全部评分

2 个回复

正序浏览
可以是另外一个类中声明一个静态的,需要传值类型的变量,赋值的时候,直接类名点变量名,使用的时候,也可以类名点变量名出来。
回复 使用道具 举报
想法:
1,调用时传参数,将数据传入。
2,文件方式,如配置文件,getdata中写入一个数据临时文件,在getOracleAddData中读取数据临时文件
不一定对。仅供参考{:soso_e113:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马