Fórum Ajuda formato data para gravar banco (PreparedStatement) #515440
01/04/2015
0
Bom dia!!!
Estou com um projeto onde criei dos models com gets e sets dos atributos das tabelas do banco de dados, criei tb uma classe com todos os comandos (insert, update, delete, select), porem estou com 3 dificuldades:
1 - tenho um campo datanasc do tipo date e nao estou conseguindo passar para o obj a formatacao (MM-dd-yyyy) para gravar no banco e certamente retornar do banco o formato (dd-MM-yyyy) para exibir na tela depois de cadastrada.
2 - tenho chave primaria codigo na tabela e quero fazer via programacao que ao clicar em novo pegue o ultimo codigo cadastrado e some mais 1 para gerar a chave automatica. Nao quero fazer generators no banco.
3 - tenho um combobox onde traz o nome da cidade da tabela cidade no cadastro de clientes, ou seja, tenho esse relacionamento do banco. E para isso dentro do construtor cliente instanciei a classe cidade
feito isso criei um metodo carregacombo:
aqui ja tenho uma duvida, como na tabela cidade tenho 3 atributos tive que colocar os 3 nesta linha Cidade obj = new Cidade(rs.getInt("codigo"), rs.getString("nome"), rs.getString("uf")); pq senao dava erro, mas e se a tabela tivesse 20 atributos, teria que relacionar os 20 atributos????
No formulario de clientes instanciei a classe clientedata e cidadedata e em uma variavel vetorcidade chamei o metodo carregacombo() e recriei este combo com os dados da cidade, perfeito, funcionou, mas agora como faço para ao pesquisar um cliente ou percorrer os registros trazer no combo o nome da cidade conforme o codigo da cidade cadastrada na tabela cliente?
Fico aguardando ajuda de vcs
Desde ja agradeço
Estou com um projeto onde criei dos models com gets e sets dos atributos das tabelas do banco de dados, criei tb uma classe com todos os comandos (insert, update, delete, select), porem estou com 3 dificuldades:
1 - tenho um campo datanasc do tipo date e nao estou conseguindo passar para o obj a formatacao (MM-dd-yyyy) para gravar no banco e certamente retornar do banco o formato (dd-MM-yyyy) para exibir na tela depois de cadastrada.
public boolean incluir(Clientes obj) throws SQLException {
Conexao conn = new Conexao();
String SQL = "insert into tb_clientes (codigo, nome, cpf, estado_civil, endereco, numero, bairro, cep, cidade, datanasc) "
+ "values (?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";
PreparedStatement ps = conn.getConexao().prepareStatement(SQL);
ps.setInt(1, obj.getCodigo());
ps.setString(2, obj.getNome());
ps.setString(3, obj.getCpf());
ps.setString(4, obj.getEstado_civil());
ps.setString(5, obj.getEndereco());
ps.setString(6, obj.getNumero());
ps.setString(7, obj.getBairro());
ps.setString(8, obj.getCep());
ps.setInt(9, obj.getCidade().getCodigo());
ps.setDate(10, obj.getDatanasc()); // ocorre erro nessa linha
int registros = ps.executeUpdate();
if (registros > 0)
return true;
else
return false;
} 2 - tenho chave primaria codigo na tabela e quero fazer via programacao que ao clicar em novo pegue o ultimo codigo cadastrado e some mais 1 para gerar a chave automatica. Nao quero fazer generators no banco.
3 - tenho um combobox onde traz o nome da cidade da tabela cidade no cadastro de clientes, ou seja, tenho esse relacionamento do banco. E para isso dentro do construtor cliente instanciei a classe cidade
public Clientes() {
cidade = new Cidade();
}feito isso criei um metodo carregacombo:
public Vector<Cidade> carregaCombo() throws SQLException {
Conexao conn = new Conexao();
Vector<Cidade> dados = new Vector<Cidade>();
String sql = "select * from tb_cidades order by nome";
PreparedStatement ps = conn.getConexao().prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Cidade obj = new Cidade(rs.getInt("codigo"), rs.getString("nome"), rs.getString("uf"));
dados.add(obj);
}
return dados;aqui ja tenho uma duvida, como na tabela cidade tenho 3 atributos tive que colocar os 3 nesta linha Cidade obj = new Cidade(rs.getInt("codigo"), rs.getString("nome"), rs.getString("uf")); pq senao dava erro, mas e se a tabela tivesse 20 atributos, teria que relacionar os 20 atributos????
No formulario de clientes instanciei a classe clientedata e cidadedata e em uma variavel vetorcidade chamei o metodo carregacombo() e recriei este combo com os dados da cidade, perfeito, funcionou, mas agora como faço para ao pesquisar um cliente ou percorrer os registros trazer no combo o nome da cidade conforme o codigo da cidade cadastrada na tabela cliente?
public jIFClientes() {
initComponents();
obj = new Clientes();
try {
DAO = new ClientesData();
DAOCidade = new CidadeData();
vetorCidade = DAOCidade.carregaCombo();
jCb_cidade.setModel(new DefaultComboBoxModel(vetorCidade));
} catch (Exception erro) {
JOptionPane.showMessageDialog(this, "Erro: " + erro.getMessage());
}
}Fico aguardando ajuda de vcs
Desde ja agradeço
Iramar Junior
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)