Olá pessoal!
Estou com uma dúvida … acho que nem chega a ser uma dúvida porque eu nem sei como que faz rsrs…
Ja dei uma pesquisada nos posts… mas mesmo assim não consegui resolver…
É o seguinte, eu estou com uma telinha de vendas…
Preciso somar os itens da venda, para poder gerar o total da venda…
a cada item adcionado atualiza um JTextField(“tf_total_venda”).
Ai é que está, estou tentando usar o select SUM…
estou usando tambem Netbeans e Access.
No Banco de Dados tenho uma tabela “vendas” e outra “itens_venda”…
eu na minha leiguisse … tentei assim:
public void totalVenda()
{
try
{
String sql = "SELECT SUM (valor_total_item) As Total From itens_venda Where codigo_vend = " + tf_cod_venda.getText();
System.out.println(sql);
CON_ITENS_VENDA.executeSQL(sql);
tf_total_venda.setText(CON_ITENS_VENDA.resultset.getString("Total"));
System.out.println(sql);
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,"Nao foi possivel Efetuar a SOMA da venda " + erro);
}
Eu achei um post que acho que resolveria mas não consegui implementar para mim…
o código do post é esse:
public Double somar(Double valor) throws SQLException{
double somatotal;
try {
Connection con = Conexao.getConexao();
try {
Statement stmt = con.createStatement();
String sqlSelect = "select sum(valor) total from caixa group by id";
ResultSet rs = stmt.executeQuery(sqlSelect);
somatotal = rs.getDouble("total");
rs.close();
stmt.close();
}finally {
con.close();
}
} catch (SQLException e) {
}
return somatotal;
}
tentei adaptar mas não consegui compreender, alguem poderia me explicar o que extamente o resultset e statement fazem…
eu ja tenho uma classe de conexão…
se quiserem dar uma olhada:
public class Conectar{
public static void close() {
throw new UnsupportedOperationException("Not yet implemented");
}
final private String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
final private String url = "jdbc:odbc:SIC";
final private String usuario = "";
final private String senha ="";
private Connection conect;
public Statement statement;
public ResultSet resultset;
public boolean conecta (){
boolean result = true;
try {
Class.forName(driver);
conect = DriverManager.getConnection(url, usuario, senha);
}
catch(ClassNotFoundException Driver)
{
JOptionPane.showMessageDialog(null,"Driver não localizado" + Driver);
result = false;
}
catch(SQLException Fonte)
{
JOptionPane.showMessageDialog(null, "Deu erro na conexão, " +
"com a Fonte de Dados, erro: " + Fonte);
result = false;
}
return result;
}
public void desconeta()
{
boolean result = true;
try
{
conect.close();
JOptionPane.showMessageDialog(null,"Banco de Dados Fechado");
}
catch(SQLException fecha)
{
JOptionPane.showMessageDialog(null,"Não foi possivel, "+
" fechar o Banco de Dados, erro: " + fecha);
}
}
public void executeSQL(String sql)
{
try
{
statement = conect.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery(sql);
}
catch(SQLException sqlex)
{
JOptionPane.showMessageDialog(null,"Não foi possivel execultar o comando sql - Class Conectar: "+
", "+sqlex+" O sql passado foi: "+sql);
}
}
}
Já não tenho idéia mais do que fazer…
Se puderem me ajudar fico muito grata.
