2013-06-24 5 views
1

내 java/jdbc 코드에 문제가 있습니다. 범위를 벗어난JDBC JDBC Java

매개 변수 인덱스

코드 (1없는 매개 변수의 2 수) : 주위이

  • JDBC가 필요하지 않습니다 필요 ?

       Connection c = null; 
           MySQL MySQL = new MySQL(Host, Port, Database, Username, Password); 
           c = MySQL.open(); 
           Player player = (Player) sender; 
           String zapytanie = "UPDATE `?` SET `tag`=? WHERE `name`='?';"; 
           PreparedStatement ps = c.prepareStatement(zapytanie); 
           ps.setString(1, Tabel); 
           ps.setString(2, red); 
           ps.setString(3, player()); 
           ps.executeUpdate(); //Executes the query 
           ps.close(); //Closes the query 
           c.close(); 
    
  • +2

    값? – austin

    답변

    4
    final String zapytanie = "UPDATE " + Table + " SET tag = ? WHERE name = ?"; 
    
    • 없음 따옴표 ; 이후 어떤 SQL 문
    • 플레이스 홀더 ?열을 사용할 수 있습니다이는 '인용 부호와 함께 할 수있는 뭔가가 수
    +0

    +1, 맞습니다. 또한 쿼리 문자열'final String zapytanie'을 작성하는 것이 좋습니다 – TecHunter

    +0

    SQL 구문에 오류가 있습니다. 'tabelx'근처에서 사용할 올바른 구문에 대한 mysql 서버 버전에 해당하는 설명서를 확인하십시오. SET tag = 'red'WHERE name = 'Awek' ' – Awesomeness

    +0

    @Awesomeness 테이블 이름을 연결해야합니다. '?'는 열 값에만 적용됩니다. –