Erro na atualização ou inserção

Pessoal to tentando esse código com banco SQLite e está dando o erro::

Query does not return results

Código:

JOptionPane.showMessageDialog(null,"Texto : " + OBS /*+  "\n" + value1*/);
//insert 
String sql = "INSERT INTO minha_tabela (OBSERVACOES)" + "values ('"+OBS+"')";

// update
//String sql ="UPDATE minha_tabela SET OBSERVACOES='"+OBS+"' WHERE id='" "' "; //where 
id=1";

O que eu poderia fazer para atualizar minha tabela? alguma ideia?

Posta o método de persistência(cadastrar) e de merge(atualizar) ae.
E qual banco você está usando?

Seria esse mesmo para cadastrar e o outro para atualizar, estou mostrando a linha do SQL que retorna o erro citado na pergunta, esta dentro do try{};

private void gravaFarActionPerformed(java.awt.event.ActionEvent evt) 
{                                                
    conn = ConnjavaPanel.ConnectDBa();
    try
	{
        String value1 = campo1.getText();
        String value2 = campo2.getText();
        ...    
        String OBS = campoObservacoes.getText();
        JOptionPane.showMessageDialog(null,"Texto : " + OBS );
        //insert 
        String sql = "INSERT INTO minha_tabela (OBSERVACOES)" + "values ('"+OBS+"')";
        // update
        //String sql ="UPDATE minha_tabela SET CAMPOTABELA1='"+campo1+"' 
               ,CAMPOTABELA2='"+campo2+"' , 
		   OBSERVACOES='"+OBS+"' WHERE id='" "' "; 
        // já tentei outros métodos sem sucesso
        pst = conn.prepareStatement(sql);
        rs = pst.executeQuery();
    } 
	catch(Exception e)
	{
        JOptionPane.showMessageDialog(null, e);
    }
}

Tenta trocar o pst.executeQuery(); por pst.executeUpdate();

Tenta colocar o código com as tags, ta meio ruim de ler. :laughing:

Pelo que entendi do seu código: você quer inserir, e depois atualizar outra tabela. Depois dar um select com as atualizações, certo?

Faça separado isso.

INSERT, UPDATE, DELETE -> executeUpdate(), SELECT -> executeQuery()

query does not return results, não vai retornar mesmo, você não está dando um select e sim insert/update.

só vou atualizar pelos dados vindos do form

Então tem de ser com executeUpdate().

1 curtida

O sintaxe que resolveu meu problema foi conseguido com algumas dicas dos colegas, estou colocando a solução encontrada no intuito de auxiliar quem possa:

`String sql =“UPDATE minha_tabela SET CAMPOTABELA1=’”+campo1+"’
,CAMPOTABELA2=’"+campo2+"’ ,
OBSERVACOES=’"+OBS+"’ WHERE id=1;

Pode também resgatar o id com ? mas ai já é outra questão, no meu caso usei assim e deu certo.

pst = conn.prepareStatement(sql);
pst.executeUpdate();`
1 curtida