Classe Java - [Select, Insert e Sum] -[erro];

3 respostas
java
tiagotsa

Criei um programa que conecta com banco de dados, Tabela criada soma valores do campo e mostra na tela valor, usando função Sum do Mysql, e também inseri Dados no mesmo campo da coluna.
Estou tentado no mesmo código inserir dados no campo da Coluna de soma, mas não consigo.

Erro:

java.sql.SQLException: o campo 'valor' não tem um valor padrão
package conect;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class Conect {

    public static void main(String[] args) {

        try {

            Connection conn;
            PreparedStatement pstm;

            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/tsa?autoReconnect=true&useSSL=false", "root", "");

            String sql = "SELECT sum(ts) as valor from tfa where valor=23";
            String row = "insert into tfa (ts) values ('22')";
            pstm = conn.prepareStatement(sql);
            pstm = conn.prepareStatement(row);

            pstm.executeQuery(sql);
            pstm.executeUpdate(row);

            ResultSet rs = pstm.executeQuery();
            while (rs.next()) {

                int valor = rs.getInt("valor");
                    System.out.println("valor " + valor);
            }

            pstm.close();
            conn.close();

        } catch (SQLException erro) {
            System.out.println("s " + erro);
        }
    }
}

3 Respostas

TerraSkilll

Qual a estrutura da tabela tfa? Pelo select, dá pra ver que tem um campo ts, que você está chamando como valor no select. Mas se ela não possui um campo chamado valor, você não pode usá-lo no where.

Também não entendi você querer fazer um select e imediatamente após um insert. Não seria melhor separar essas etapas?

Abraço.

tiagotsa

Boa tarde!

Consegui fazer a consulta e inserir de Dados na Tabela.
Obrigado pela dica!

tiagotsa

Boa tarde!

Consegui fazer consulta e inserir Dados, erro na linha de código PreparedStatement inseri uma linha de código para cada variável preparedStatement - row e sql.
Obrigado pela dica!

Criado 30 de outubro de 2021
Ultima resposta 30 de out. de 2021
Respostas 3
Participantes 2