2013-12-08 3 views
-1
public static void main(String[] args) 
{ 
    Connection con=null; 
    PreparedStatement pstmt=null; 
    ResultSet rs=null; 
    /* 
    * 1.load the driver 
    * driver class :com.mysql.jdbc.Driver 

    */ 

    try { 
     Driver driverref=new Driver(); 
     DriverManager.registerDriver(driverref); 
     /* 
     * 2.get db connection via driver 
     */ 
     String DbUrl="jdbc:mysql://localhost:3306/college?user=suhas&password=j2ee"; 
     con=DriverManager.getConnection(DbUrl); 
     /* 
     * 3.issue SQL queries via Connection 
     */ 
     String query="select * from Students_info where regno=?" 
     +"firstname=?"; 
     pstmt=con.prepareStatement(query); 
     String regnum=args[0]; 
     int regno=Integer.parseInt(regnum); 
     pstmt.setInt(1,regno); 
     pstmt.setString(2, args[1]); 
     rs=pstmt.executeQuery(); 
     /* 
     * 4.process the results returned by sql query 
     */ 
     while(rs.next()){ 
      int dbregno=rs.getInt("regno"); 
      String fname=rs.getString("firstname"); 
      String mname=rs.getString("middlename"); 
      String lname=rs.getString("lastname"); 
      System.out.println("regno "+dbregno); 
      System.out.println("first name "+fname); 
      System.out.println("middlename "+mname); 
      System.out.println("lastname "+lname); 
      }//end of while 
    } 
    catch (SQLException e) 
    { 
     e.printStackTrace(); 
    } 
    finally{ 
     /* 
     * close all jdbc objects 
     */ 
     try { 
      if(con!=null){ 
       con.close(); 

      } 
      if(pstmt!=null){ 
       pstmt.close(); 
      } 
      if(rs!=null){ 
       rs.close(); 
      } 
     } catch (SQLException e) { 

      e.printStackTrace(); 
     } 
    } 
} 

} с вышеприведенным кодом я не в состоянии передать значение арга в перспективе configurations.Am получает исключение формата номер, как исправить this.How передать аргументы в Arguments вкладке бегов конфигурации.Подготовленное Заявление Execution в затмении

+0

я передаю аргумент от конфигурации запуска @peeskillet – user3079190

+0

код выглядит отлично. Какая строка дает вам исключение? –

+0

И что вы набираете точно? –

ответ

0

Присмотритесь на ваш код:

String query="select * from Students_info where regno=?" 
     +"firstname=?"; 

в точности эквивалентно

String query="select * from Students_info where regno=?firstname=?"; 

Давайте представим, что, когда вы заменяете ваш запрос параметров regno = 1 и args[1] = "Gord". Результирующий SQL-запрос будет выглядеть так:

select * from Students_info where regno=1firstname='Gord' 

Это недопустимый синтаксис. Два условия в предложении WHERE необходимо объединить с помощью логического оператора: AND или OR. Таким образом, исходная строка запроса должна быть либо

String query="select * from Students_info where regno=?" 
     +" AND firstname=?"; 

или

String query="select * from Students_info where regno=?" 
     +" OR firstname=?"; 
Смежные вопросы