Estou fazendo um programa para ler dados de um arquivo TXT:Mês (01, 02, 03, … 12), horas trabalhadas, valor por hora, descontos, abonos
estes informaçoes devem ser grvadas em um banco de dados
CREATE TABLE trabalho (
mes int(2) DEFAULT NULL,
horas double(8,2) DEFAULT NULL,
vl_hora double(8,2) DEFAULT NULL,
desconto double(8,2) DEFAULT NULL,
abono double(8,2) DEFAULT NULL,
codigo int(6) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (codigo)
)
A tela do sistema deve ser a seguinte:
Ao clicar no botão ?Carregar dados do arquivo para o banco? deve ser feita a leitura do arquivo texto e inserir na tabela do MYSQL. Atualizar em um label quantos registros foram carregados. Se incluir ou excluir linhas do arquivo este dado deve ser exibido corretamente.
Ao clicar em pesquisar, o sistema deve ler no banco de dados o registro do mês especificado e atualizar os valores de 2 labels O primeiro se refere ao valor líquido que o funcionário recebeu no mês especificado. O segundo se refere o quanto em percentual o valor recebido no mês representa em relação ao ano. Caso o usuário não informe o mês, uma mensagem deve ser exibida informando-o que se trata de um campo obrigatório.
este foi o codigo que fiz ate agora gostaria de uma ajuda se possivel para mostrar quantos arquivos foram carregados e o calculo do valor liquido recebido e o % anual
obg
[code]package teste_trabalho;
import java.awt.Label;
import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import org.eclipse.swt.widgets.Text;
public class Importacao {
public void ImportaDados(Connection conn, Text lbArqGrav){
String sql = “insert into trabalho (mes,horas,vl_hora,desconto,abono)”+
" values (?,?,?,?,?)";
try {
FileReader fw = new FileReader(“C:/arqTrab.txt”);
BufferedReader bw = new BufferedReader(fw);
String linha;
Integer arqGrav = 0;
PreparedStatement ps = conn.prepareStatement(sql);
while ((linha = bw.readLine()) != null) {
String[] vet = linha.split(",");
arqGrav += 1;
ps.setInt(1, Integer.parseInt(vet[0]));
ps.setDouble(2, Double.parseDouble(vet[1]));
ps.setDouble(3, Double.parseDouble(vet[2]));
ps.setDouble(4, Double.parseDouble(vet[3]));
ps.setDouble(5, Double.parseDouble(vet[4]));
ps.executeUpdate();
}
lbArqGrav.setText(String.valueOf(arqGrav));
}catch (Exception e){
e.printStackTrace();
}
}
public void LimpaDados(Connection conn){
String sql = "delete from trabalho ";
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
}[/code]