Select com PreparedStatement

1 resposta
X
package Conexões;

import java.sql.*;
import java.util.Scanner;

public class teste {
   
    public static void main( String agrs[] ) {
        Scanner input = new Scanner( System.in);
        VO.Estado estado = new VO.Estado("MG","Minas Gerais");
        String hostName = "localhost:3306";
        String userName = "root";
        String userPassword = "bruno";
        String dataBase = "projeto";
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://" + hostName + "/" + dataBase;
        String SQL;
        Connection conn = null;
        PreparedStatement pstm;
        ResultSet rs;
        int codEstado;
        try {
            Class.forName(driver);
            conn = DriverManager.getConnection (url,userName,userPassword);
        }catch(Exception ex) {
            ex.printStackTrace();
        }
       
       
        System.out.println("Digite o codigo do Estado");
        codEstado = input.nextInt();
       
       
        SQL = "SELECT UF,estado FROM estado WHERE codEstado = ?";
        try {
            pstm = conn.prepareStatement(SQL);
            pstm.setInt(1,codEstado);
            rs = pstm.executeQuery(SQL);
        }catch(SQLException sqlex) {
            sqlex.printStackTrace();
        }
    }
   
}
java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666) at com.mysql.jdbc.Connection.execSQL(Connection.java:2988) at com.mysql.jdbc.Connection.execSQL(Connection.java:2917) at com.mysql.jdbc.Statement.executeQuery(Statement.java:824) at Conexões.teste.main (teste.java:38)
Galera num to conseguindo fazer um select no BD usando PreparedStament de geito nenhum. Será que alguem aí tem a solução pra esse problema.

Desde ja Agraeço,

Bruno
[size="11"][color="red"]* Editado: Lembre-se de utilizar BBCode em seus códigos - Cassolato[/color][/size] :joia:

1 Resposta

J

Não se esqueça que você está usando PreparedStatement, então, tira esse “SQL” daí:

:wink:

Criado 20 de novembro de 2006
Ultima resposta 21 de nov. de 2006
Respostas 1
Participantes 2