Exemplo:
String s = Pedra D’ Água;
Banco:
Marca varchar(35)
Quando tento inserir essa string no banco da erro;
Como resolver essa situaçao?
O banco é Postgres.
Exemplo:
String s = Pedra D’ Água;
Banco:
Marca varchar(35)
Quando tento inserir essa string no banco da erro;
Como resolver essa situaçao?
O banco é Postgres.
vc tem q duplicar ao inves de ’ tem que ser ‘’
String s = "Pedra D'' Água";
utilize PreparedStatement.
ganondorfan
Eu estou usando o PreparedStatement!
Mas me da um exemplo ai pra ve se eu to fazendo certo.
leonardobhbr
E no caso de duplicar os apostrofos tenho que transformar a string em um vetor de char procurar o apostrofo e duplicalo? É isso?
Posta o codigo que gera o erro e o erro , para analisarmos.
public void inserir(Cliente cli) throws ClassNotFoundException, SQLException {
conectar = new Conexao();
cidade = cli.getCidade();
Class.forName(conectar.driver);
con = (Connection) DriverManager.getConnection(conectar.url, conectar.user, conectar.senha);
prepstm = con.prepareStatement("insert into Cliente(cidade) values('" + cidade + "')");
prepstm.execute();
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "Descrição do erro: " + e + "", "Erro!", JOptionPane.ERROR_MESSAGE);
Logger.getLogger(ClienteDAL.class.getName()).log(Level.SEVERE,null,ex);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Descrição do erro: " + e + "", "Erro!", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
Ex: Quando tento inserir o nome da minha cidade Itapejara D' Oeste ja da erro:
[color=red]
org.postgresql.util.PSQLException: ERRO: erro de sintaxe em ou próximo a "Oeste"[/color]
Voce esta usando PreparedStatement, mas não ta usando os poderes dele 
prepstm = con.prepareStatement("insert into Cliente(cidade) values(?)"); //utilize o placeHolder para deixar ele fazer o parse pra voce
prepstm.setString(1,cidade); // estou supondo que cidade seja tipada como String
prepstm.executeUpdade();
Tenta aí e vê se funciona

Valeu cara funciono!
Brigadão!!!