Parcelas gerar e gravar no BD.[Resolvido]

Como faço para grarvar as parcelas no banco?E quanto a data tem que ficar assim
12/01/2010
12/02/2010
12/03/2010

Tenho que listar no Jtable e gravar no bd,mas não estou conseguindo.


  private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      double valorparc,valocompra;
       int numepar=0;
               numepar=tf_numparcelas.getText().length();
               Calendar datacompra = Calendar.getInstance();   
               if  (numepar > 0)
              {
       
                  valorparc=((Double.parseDouble(tf_valorliquido.getText())  / (Double.parseDouble(tf_numparcelas.getText()))));
                   
                   tf_valorpar.setText(String.valueOf(valorparc));
              
                   for(int cont=1;cont<=numepar;cont++)
                   {
                     datacompra.add(Calendar.MONTH,1);
                     
                   }
                  
               }
    }           

Estou seguindo esse exemplo,que não tem acesso ao bd e mostra o resultado no prompt de comando…


import java.util.Calendar;   
  
public class Juros {   
  
    // essas informações serão resgatadas por você, não sei como   
    private static final double VALOR_TOTAL = 1110.0;   
    private static final int NUMERO_PARCELAS = 12;   
    private static final double JUROS = 0.05; // 5%   
    private static final Calendar DATA_EMISSAO = Calendar.getInstance();   
  
    public static void main(String[] args) {   
        // imprima o cabeçalho no início, caso te interesse   
        double montante = VALOR_TOTAL + VALOR_TOTAL * JUROS;   
        int montanteEmCentavos = (int) (montante * 100);   
        int valorParcela = montanteEmCentavos / NUMERO_PARCELAS;   
        int parcela1 = montanteEmCentavos - valorParcela   
                * (NUMERO_PARCELAS - 1);   
        imprimeInfo(1, NUMERO_PARCELAS, parcela1, DATA_EMISSAO);   
        for (int i = 2; i <= NUMERO_PARCELAS; i++) {   
            DATA_EMISSAO.add(Calendar.MONTH, 1);   
            imprimeInfo(i, NUMERO_PARCELAS, valorParcela, DATA_EMISSAO);   
        }   
        System.out.printf("%nTotal do acerto: R$ %.2f%n", montante);   
    }   
  
    private static void imprimeInfo(int numeroParcela, int totalParcelas,   
            int valorEmCentavos, Calendar data) {   
        System.out.printf("%02d/%02d\t%td/%tm/%ty\tR$ %.2f%n", numeroParcela,   
                totalParcelas, data, data, data, valorEmCentavos / 100.0);   
    }   
  
}  

Olá, qual banco de dados você vai gravar?
As tabelas já estão criadas?
Você não tem nenhuma classe para fazer o tratamento da gravação dos dados não é mesmo?

para converter as datas utilize esta classe:

[code]package Utilidades;

import java.text.SimpleDateFormat;
import java.util.Date;
public class Data{

public  String formataHoje(){
	Date hoje = new Date();
	SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
	return sdf.format(hoje);
}
public String formataDataSQL(String str){
    String result = getDigitos(str);
    if (result.equals("")){
        result = "null";            
    }
    else{
        result = result.substring(4,8)+ "-" 
        + result.substring(2,4)+"-"
        +result.substring(0,2); 
       }
    System.out.print(result);
     return result;
}
           
private String getDigitos(String str){
    String result="";
    if (!str.equals("null")){
        for (int i=0; i< str.length();i++){
            if (str.charAt(i)=='0')
                result = result+str.charAt(i);
            else if (str.charAt(i)=='1')
                result = result+str.charAt(i);
            else if (str.charAt(i)=='2')
                result = result+str.charAt(i);
            else if (str.charAt(i)=='3')
                result = result+str.charAt(i);
            else if (str.charAt(i)=='4')
                result = result+str.charAt(i);
            else if (str.charAt(i)=='5')
                result = result+str.charAt(i);
            else if (str.charAt(i)=='6')
                result = result+str.charAt(i);
            else if (str.charAt(i)=='7')
                result = result+str.charAt(i);
            else if (str.charAt(i)=='8')
                result = result+str.charAt(i);
            else if (str.charAt(i)=='9')
                result = result+str.charAt(i);
            
        }
    }
    return result;
}

}

[/code]

Com isso já resolve metade dos seus problemas a outra metade depende da resposta de minha pergunta.

Olá ,o banco é access,tenho as tabelas,TB_vendas,TB_operadora e TB_parcela já estão relacionadas.
Não tenho uma classe para tratar a inclusão de dados.

Me ajudem tenho que entregar o projeto semana que vem…Por favor!

Se eu fosse vc iria no site do netbeans.org lá tem uma seção de tutoriais muito praticos e rápidos mesmo pra quem é iniciante no Java. E outra coisa eu tambem mudaria de banco de dados, usa o Postgre ou outro de sua preferencia.
Tente fazer tudo direitinho como tem nos tutoriais do netbeans e poste as suas duvidas aqui que a gente tira. Espero ter ajudado…
Boa sorte:)

Para fazer a conexão com o BD você vai precisar de um Driver e uma classe que faça a conexão.
Você deve procurar na internet driver de BD MS-Access para java. É um arquivo jar, onde você deve por no lib do seu projeto. (importar jars)

A classe para a conexão, pode usar deste exemplo. No exemplo utilizo o MySQL. A assinatura do driver é diferente para cada banco.

[code]package BancoDeDados;

import java.sql.*;
import javax.swing.JOptionPane;

public class Conexao {
public Connection conn;
private boolean connected = false;
private boolean sucesso = true;
private String DRIVER = “com.mysql.jdbc.Driver”;
private String URL_STRING = “jdbc:mysql://info:3306/cgg”;
private String USER = “anaLuiza”;
private String PASSWD = “1234”;

public void conectar() {
try {
Class.forName(DRIVER);
//conn = DriverManager.getConnection(“jdbc:mysql://Developer:3306/cgg”,“root”,“1234”);
conn = DriverManager.getConnection(URL_STRING,USER,PASSWD);
System.out.println(“Conectado com sucesso”);
}
catch (ClassNotFoundException ex) {
System.out.println(“Driver JDBC Não encontrado”);
} catch (SQLException ex1) {
System.out.println(“Falha durante o processo de conexao” + ex1);
JOptionPane.showMessageDialog(null, “”+ex1+"");
}
}

public void desconecta (){
try {
conn.close();
System.out.println(“Desconectado”);
}
catch (SQLException ex2){
System.out.println(“Falha ao desconectar”+ex2);
JOptionPane.showMessageDialog(null, “”+ex2+"");
}
}

public void incluirDados(String sql) {
    try {
    conectar();
    Statement stmt = conn.createStatement(); //Obrigatório para inclusão e consulta
    stmt.executeUpdate(sql); // efetiva a inserção no BD   
    desconecta();
    //JOptionPane.showMessageDialog(null, "dados manipulados com sucesso!!!"); 
    System.out.println("Dados manipulados com sucesso!!!");
    setSucesso(true);
    }

    catch (SQLException ex) {
    System.out.println("Falha ao inserir registro.\n" + ex);
    JOptionPane.showMessageDialog(null, "Falha ao inserir registro "+""+ex+"");
    setSucesso(false);
    }
}

public ResultSet consultaDados(String sql) throws SQLException{
  
    try {
        conectar();
   ResultSet result;
    Statement stmt = conn.createStatement(); //Obrigatório para inclusão e consulta
    result = stmt.executeQuery(sql);// efetiva a consulta no BD
    setSucesso(true);
    return result;
   }
   
   catch (SQLException ex) {
    System.out.println("Falha ao pesquisar registro.\n" + ex);
    JOptionPane.showMessageDialog(null, "Falha ao pesquisar registro "+""+ex+"");
    setSucesso(false);
    }        
      return null; 
}

public Connection getConn(){
return conn;

}
public String getDRIVER(){
return DRIVER;
}
public String getURL(){
return URL_STRING;
}
public String getUSER(){
return USER;
}
public String getPASSWD(){
return PASSWD;
}

public void setSucesso(boolean a){
this.sucesso = a;
}

public boolean getSucesso(){
return sucesso;
}

}[/code]

Feito isso deve-se criar uma classe de entidade que vai armazenar os dados do seu banco na aplicação:

[code]public class Cobranca {

//Atributos da Entidade Cobrança
private byte idCobranca;
private String tipoCobranca;

//Métodos da Entidade Cobrança
public byte getIdCobranca() {
    return idCobranca;
}

public void setIdCobranca(byte idCobranca) {
    this.idCobranca = idCobranca;
}

public String getTipoCobranca() {
    return tipoCobranca;
}

public void setTipoCobranca(String tipoCobranca) {
    this.tipoCobranca = tipoCobranca;
}

}
[/code]

E por fim uma classe que vai fazer efetivamente os cadastros, alterações e consultas no BD

[code]package DAO;

import BancoDeDados.Conexao;
import Entidades.Cobranca;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*

  • @author tiago
    */
    public class CobrancaDAO {

private int idCobranca;
private boolean sucesso;

public void alterarCobranca(String oldTipoCobranca, String tipoCobranca) {
Conexao con = new Conexao();
String sql;

        sql="update cobranca set tipoCobranca='"+tipoCobranca+"' where"+
      " tipoCobranca='"+oldTipoCobranca+"';";
   con.incluirDados(sql);
   con.desconecta();
}

public void excluirCobranca(String tipoCobranca) {
   Conexao con = new Conexao();
    String sql;
  
        sql="update cobranca set tipoCobranca = 'CANCELADO' where"+
      " tipoCobranca='"+tipoCobranca+"';";
   con.incluirDados(sql);
   sucesso = con.getSucesso();
   con.desconecta();
}

public int getIdCobranca() {
return idCobranca;
}

public void setIdCobranca () throws SQLException{
int result=0;
Conexao con = new Conexao();
con.conectar();
String sql = “select count(*) from cobranca”;
ResultSet rsContador = con.consultaDados(sql);
rsContador.next();
result = rsContador.getInt(1);
idCobranca=result;
con.desconecta();
}

public void cadastraCobranca(String tipoCobranca) throws SQLException{
Conexao con = new Conexao();
con.conectar();
setIdCobranca();
idCobranca=idCobranca+1;

   String sql = "INSERT INTO cobranca (idCobranca, tipoCobranca)VALUES(" +
           "'"+idCobranca+"','"+tipoCobranca+"')"; 
   
   con.incluirDados(sql);
   sucesso = con.getSucesso();
   con.desconecta();       
}

public boolean getSucesso() {
    return sucesso;
}

public void setSucesso(boolean sucesso) {
    this.sucesso = sucesso;
}

public ArrayList listarTipoCobranca() throws SQLException{
Conexao con = new Conexao();
String sql = “SELECT idCobranca, tipoCobranca from cobranca where tipoCobranca!=‘CANCELADO’” +
" ORDER BY tipoCobranca ASC ";
ResultSet rsCobranca = con.consultaDados(sql);
ArrayList listaCobranca = new ArrayList();
try {

        while (rsCobranca.next()) {
            Cobranca menu = new Cobranca();
            menu.setIdCobranca(rsCobranca.getByte("idCobranca"));
            menu.setTipoCobranca(rsCobranca.getString("tipoCobranca"));                
            listaCobranca.add(menu);
        }
    } catch (SQLException ex) {
        Logger.getLogger(CobrancaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
  con.desconecta();
  return listaCobranca;
    
}

public String verificaCadastroExistente(String cobranca){
    String tipoCobranca = "";
    
    Conexao con = new Conexao();
    String sql = "SELECT tipoCobranca from cobranca" +
            " where tipoCobranca like'%"+cobranca+"%' AND tipoCobranca!= 'CANCELADO'";
    try {
   ResultSet rsCobranca = con.consultaDados(sql); 
   rsCobranca.next();
   tipoCobranca = rsCobranca.getString("tipoCobranca");
   return tipoCobranca;
 } catch(SQLException ex){
   return (tipoCobranca);    

}
}

}[/code]

No exemplo acima, está mais ou menos como que é. Daí é só instanciar esta classe DAO, na classe do seu projeto e chamar os métodos necessários.

Creio que já dê pra resolver o problema.

Obrigada lordtiago!!!