Jump to content

edsouzza

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

0 Comum

About edsouzza

  • Birthday 08/17/1967

Informações Pessoais

  • Sexo
    Masculino
  • Interesses
    Informática, Programação

Contato

  • Skype
    edsouzza@hotmail.com
  • Twitter
    edsouzza
  • Facebook
    edsouzza@gmail.com
  1. edsouzza

    Converter String em data.sql.date

    Pessoal o método abaixo faz a leitura de arquivo txt onde pega os campos separados por (;) e carrega o meu objeto (objServidor) para então gravar no banco de dados. Ocorre que o campo que recebe a datainiexercicio (01/05/2018) por exemplo não esta rodando. Usei um metodo que formata a string e converte em data pois no objeto ela é uma data do tipo java.sql.Date. O método é o formatarData que retorna uma data.sql.date que deixei mais abaixo para verificação de o porque não esta aceitando esta data. Testei os outros campos e esta tudo funcionando menos a data. O meu banco de dados é o Firebidr 2.1 e o campo data esta como Date. Segue exemplo de uma linha o txt MIQUEIAS DA SILVA NORE;6964443;1;56;1;6;2;03/10/2000;ATIVO;* Quem puder ajudar agradeço. private void ImportarTXT(){ //inicializando as variaveis dos campos a serem gravados int totalLinhas = 0; RetornarQdeLinhasDoTxt qdeLinhas = new RetornarQdeLinhasDoTxt(); //setando o caminho do arquivo TXT no edit do formulario apenas para mostrar o arquivo que esta sendo importado SelecionarArquivoTexto select = new SelecionarArquivoTexto(); caminhoTXT = select.ImportarTXT(); if(caminhoTXT != null) { //setando o caminho do arquivo TXT na variavel caminhoTXT para pegar os valores txtARQUIVO.setText(caminhoTXT); totalLinhas = qdeLinhas.retornaNumLinhasDoTxt(caminhoTXT); //JOptionPane.showMessageDialog(null, "Qde de linhas do arquivo...: "+String.valueOf(totalLinhas)); //criando uma variavel arquivo do tipo File e setando o caminho do arquivo TXT nela File arquivo = new File(caminhoTXT); try { FileReader ler = new FileReader(arquivo); BufferedReader lerBuf = new BufferedReader(ler); linha = lerBuf.readLine(); while(linha != null) { nome = linha.split(";")[0]; rf = linha.split(";")[1]; svinculo = linha.split(";")[2]; cargobase = linha.split(";")[3]; departamento = linha.split(";")[4]; unidade = linha.split(";")[5]; tiposervidor = linha.split(";")[6]; datainiexercicio = linha.split(";")[7]; status = linha.split(";")[8]; obs = linha.split(";")[9]; //setando os valores no objeto do modelo objServidor.setNome(nome); objServidor.setRf(rf); objServidor.setVinculo(Integer.parseInt(svinculo)); objServidor.setCargobase(Integer.parseInt(cargobase)); objServidor.setDepartamento(Integer.parseInt(departamento)); objServidor.setUnidade(Integer.parseInt(unidade)); objServidor.setTiposervidor(Integer.parseInt(tiposervidor)); ========================================================================== objServidor.setDtinicioexercicio(formatarData(datainiexercicio)); ========================================================================== objServidor.setStatus(status); objServidor.setObs(""); //gravando no banco de dados, antes verifica se o rf já esta cadastrado e não grava se isso acontecer if(umMetodo.duplicidadeDeCadastro("TBLSERVIDORES", "rf", rf)){ //JOptionPane.showMessageDialog(null,"O ServidorComCargo "+nome+" já esta cadastrado!"); contador = 0; }else{ if (ctrlServidor.salvarServidor(objServidor)){ contador = 1; } } //lendo a proxima linha linha = lerBuf.readLine(); } } catch (Exception e) { JOptionPane.showMessageDialog(null,"Erro ao tentar ler o arquivo!"); } if (contador > 0){ JOptionPane.showMessageDialog(null,"Os dados foram importados com sucesso!"); }else if (contador == 0){ JOptionPane.showMessageDialog(null,"Nenhum registro foi cadastrado com sucesso!","Atenção possíveis erros de leitura ou duplicidades!",2); } } contador = 0; } public Date formatarData(String data) throws Exception { if (data == null || data.equals("")) return null; Date date = null; try { DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); date = (Date)(java.util.Date)formatter.parse(data); } catch (ParseException e) { throw e; } return date; }
  2. Pessoal, a ideia é que quando o usuário escolher um campo identificado no checkbox o sistema deverá inserir o texto do checkbox no ArrayList. Mas esta pegando apenas o ultimo nome do ultimo checkbox. public void listarOpcoesDeCampos() { //para manipular o arrayList de campos voce dever criar outro arrayList para recebe-lo e assim com lst.get(0) chamar o campo desejado lstCamposRetornados = retornarNomesCampos(); //retornando o codigo -> lstCamposRetornados.get(0) -> este procedimento me da acesso a qdeColunas tb //definindo o posicionamento dos checksbox dos campos int pos_coluna = 50, pos_linha = 40, tam_linha = 250, alt_linha = 30; for (int i = 0; i < qdeColunas; i++) { //criando e mostrando um checkbox com o nome da coluna da tabela chk = new JCheckBox(); chk.setBounds(pos_coluna, pos_linha, tam_linha, alt_linha); c.add(chk); c.repaint(); chk.setText(retornarNomesCampos().get(i)); //setando o nome da coluna no checbox //registrando o objeto que sofrerá ação chk.addActionListener(this); //se posicionando para criacao do proximo checkbox pos_coluna = 50; pos_linha = pos_linha + 20; } } @Override public void actionPerformed(ActionEvent e) { lstListaCampos.add(chk.getText()); } Fiz um laço for para visualizar o que a lista contem e percebi que esta pegando somente o último ítem saída atual: campo OBS campo OBS A saida desejada é: campo CODIGO campo OBS Ou seja no ArrayList deverá conter apenas os ítens(checkbox) selecionados.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.