java吧 关注:1,272,136贴子:12,780,845
  • 8回复贴,共1

求帮助,调试部出来,求大神们解答。。急,急,谢谢了

只看楼主收藏回复

有两个文件,下面贴出来


IP属地:四川1楼2014-12-30 10:54回复
    package oracledeal;
    import java.beans.Statement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    public class ConnOrcl {
    public static Connection getConnection(){
    Connection conn=null ;
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");//加载驱动
    // oracle:表示连接oracle数据库;
    //jdbc:表示采用jdbc连接数据库;
    //thin模式:是基于纯JAVA实现TCP/IP的C/S通讯,THIN模式不需要安装ORACLE客户端。
    conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "officesys", "m123");
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    //System.out.println(conn);//测试
    return conn;
    }
    }


    IP属地:四川2楼2014-12-30 10:55
    回复
      2025-08-01 22:16:11
      广告
      不感兴趣
      开通SVIP免广告
      package oracledeal;
      import java.sql.Connection;
      import java.sql.PreparedStatement;
      import java.sql.ResultSet;
      import java.sql.SQLException;
      public class CTraining {
      public static int Id;//培训编号
      public static String CreateDate;// 创建日期
      public String Subject;// 培训主题
      public String Status;//当前状态,包括创建、发布、培训开始、培训结束
      public int tTypeId;// 培训类型,0表示内部培训、1表示外部培训
      public String Place;// 培训地点
      public String Teacher;// 培训人
      public String StartDate;// 培训开始日期
      public String EndDate;// 培训结束日期
      public String SignSDate;//报名开始日期
      public String SignEDate;// 报名结束日期
      public String Attendant;// 参加人
      public int IsFree;// 是否免费,0表示免费、1表示不免费
      public int Cost;// 培训费/人
      public String Detail;// 培训介绍
      public String AttList;// 参加人员姓名列表
      // 初始化参数
      public void Init()
      {
      Id = 0;
      CreateDate = "";
      Subject = "";
      Status = "";
      tTypeId = 0;
      Place = "";
      Teacher = "";
      StartDate = "";
      EndDate = "";
      SignSDate = "";
      SignEDate = "";
      Attendant = "";
      IsFree = 0;
      Cost = 0;
      Detail = "";
      AttList = "";
      }
      // 构造函数
      public CTraining()
      {
      Init();
      }
      //获取数据
      public void GetData(String cId) {
      ConnOrcl corcl=new ConnOrcl();
      Connection conn =corcl.getConnection();
      PreparedStatement sm=null;
      ResultSet rs=null;
      String sql="select id,createdate from Training where id=?";
      try {
      sm=conn.prepareStatement(sql);
      sm.setString(1, cId);
      rs=sm.executeQuery();
      while(rs.next()){
      String Id=rs.getString(1);
      String CreateDate=rs.getString(2);
      }
      } catch (SQLException e) {
      e.printStackTrace();
      } finally{
      try {
      if (rs != null) {
      rs.close();//释放结果集合
      }
      } catch (SQLException e) {
      e.printStackTrace();
      }
      try {
      if (sm!= null) {
      sm.close();//释放语句对象
      }
      } catch (SQLException e) {
      e.printStackTrace();
      }
      try {
      if (conn!= null) {
      conn.close();//释放数据库连接
      }
      } catch (SQLException e) {
      e.printStackTrace();
      }
      }
      }
      public static void main(String[] arg){
      String cId="1";
      CTraining ctr=new CTraining();
      ctr.GetData(cId);
      System.out.println("用户id:"+Id+"创建时间:"+CreateDate);
      }
      }


      IP属地:四川3楼2014-12-30 10:55
      收起回复
        数据库能连接,就是执行结果永远是 用户id:0


        IP属地:四川4楼2014-12-30 10:56
        回复
          求大家看看哪里出问题了


          IP属地:四川来自Android客户端5楼2014-12-30 11:15
          回复
            连接数据库不是有6个步骤的吗?你才写了一个加载驱动


            6楼2014-12-30 11:44
            收起回复
              设个断点,DEBUG,一步步点,,看哪里没取到值,在循环打印一句话,看控制台输出没,,


              IP属地:湖北7楼2014-12-30 12:46
              回复