Erro no PreparedStatement cujo parâmetro é o valor combobox

public void mostraUnidadesPorTipo() throws SQLException {
String numeroUnidades [] = new String [90];
String combosel = (String) jCtipounid.getSelectedItem();
ResultSet rs = null;
this.con = pacote_util.Conexao.getConexao();
stmt = con.createStatement();
try{
PreparedStatement pstm = this.con.prepareStatement(“SELECT NumeroUnidade FROM unidade WHERE TIPO_UNIDADE_NomeTU=”+ combosel);
rs = pstm.executeQuery();

        String nome = "";
        int i=0;
        while(rs.next()){
            nome = rs.getString("NumeroUnidade");
            numeroUnidades[i] = nome;
            i++;
        }
        jLunidExist.setListData(numeroUnidades);
   
   }catch(Exception e){
        e.printStackTrace();
    }

}
erro: om.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column ‘LUXO’ in ‘where clause’
tabela unidade pra mostrar q o campo TIPO_UNIDADE_NomeTU existe.
101 LUXO 1001 125.0 158.0 SIM
102 LUXO 1002 125.0 158.0 SIM
103 LUXO 1003 125.0 186.0 SIM
104 LUXO 1004 158.0 158.0 SIM
105 LUXO 1005 125.0 158.0 SIM
106 LUXO 1006 125.0 158.0 SIM

[/code][code]

Ola,

Esta coluna “TIPO_UNIDADE_NomeTU” é varchar, pq se for vc tem que colocar o valor que vc quer achar nele dentro de aspas… assim:

SELECT NumeroUnidade FROM unidade WHERE TIPO_UNIDADE_NomeTU= '"+ combosel+"' "
Notou que o valor de “combosel” está entre aspas simples?

So mais uma observação irmão Bruno…

Quando é usado o PreparedStatement, ao inves de colocarmos o nome dos valores, usamos o ponto de interrogação, exemplo:

[code]String sql = "SELECT * FROM mytable WHERE myField = ?";

PreparedStatement ps = conn.prepareStatement(sql);[/code]
Depois setamos o valor do ponto de interrocação…

ps.setString(1, myValue);

E então chamamos o método qual desejarmos.
:joia:

vlw aos 2 !!!
muito obrigado pela explicação !!!