bem galera to tentando fazer um insert so que a sintaxe eu acho que não esta certa, sera que pode me ajudar???
o insert geralmente é igual pros bancos de dados…
voce pode colocar o seu codigo aqui?
voce pesquisou no google a sintaxe correta pro insert?
A sintaxe é assim:
insert into tabela (campo1, campo2, campon) values (valor1, valor2, valorn)
T+
o codigo é esse so que ele so que no try da erro vai pro catch.
botaoCadastrar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String marca = campoMarca.getText();
String tipo = campoTipo.getText();
String safra = campoSafra.getText();
String prateleira = campoPrateleira.getText();
Inicial bd = new Inicial();
bd.conection();
try{
bd.stmt.executeUpdate("INSERT INTO vinhos(marca,tipo,safra,prateleira) VALUES ('marca','tipo','safra','prateleira')");
JOptionPane.showMessageDialog(null,"Registro Inserido Com Sucesso","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);
stmt.close();
con.close();
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null,“Conexão não estabelecida Comandos Digitados Inválidos”,“Mensagem do Programa”,JOptionPane.ERROR_MESSAGE);
}
Se usando o ex. de sintaxe do colega ainda não der certo, poste seu insert e tb a msg de erro.
Blz?
Em se tratando de postgresql, verificar os nomes dos campos de acordo com o banco de dados, pois para o postgreSQL é case sensitive.
T+
dei uma olhado no banco e ta tudo certo os campos estão com os nomes corretos ta tudo certo
DICA: Qdo colocar código fonte, coloque entre , fica melhor pra enxergar.
Muda dentro do seu catch como eu fiz abaixo, essa linha vai imprimir o erro. Ai vc pega o erro e posta aqui no forum pro pessoal ajudar:
catch(SQLException ex){
e.printStackTrace(); // essa linha aqui que eu acrescentei
JOptionPane.showMessageDialog(null,"Conexão não estabelecida Comandos Digitados Inválidos","Mensagem do Programa",JOptionPane.ERROR_MESSAGE);
}
Veja o tamanho dos teus campos VARCHAR.
Obs: Nesse teu código você não vai armazenar o conteúdo das variáveis. Você vai armazenar os nomes, isto é, marca,tipo,safra,prateleira. Se o campo prateleira for VARCHAR(2), por exemplo, vai dar pau.
Procure usar PreparedStatement.
Caso queira continuar assim, você vai precisar concatenar as Strings, desse jeito:
bd.stmt.executeUpdate("INSERT INTO vinhos(marca,tipo,safra,prateleira) VALUES (" + marca + "," + tipo + "," + safra +"," + prateleira + ")");
E haja paciência para dar manutenção nessa concatenação.
Acho altamente recomendável a utilização do PreparedStatement.
Abraços!
:evil: continua dando erro seguintes
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Olá Galera.
Eu também estava com problema no insert, eu tive uma ajuda do pessoal aqui do trampo e consegui resolver.
Veja se ele te ajuda, o codigo precisa ficar como abaixo.
Connection conn = Conexao.getConnection();
PreparedStatement ps = conn.prepareStatement("insert into \"EMPRESA\"(\"CODIGO\", \"NOME\") values (?,?)");
ps.setInt(1, emp.getCodigo());
ps.setString(2, emp.getNome());
ps.execute();
Abraço a todos