Bom meu problema e o seguinte
tenho um banco e um arquivo CSV
no banco eu tenho um capo chamado mes o qual qro usar como parametro para saber se os dados dakele mes forma ou não inseridos
e n sei como fazer a comparação com o csv eu tenho uma ideia ja fiz alguns testes mas n da certo!!
tipo eu tenho de fazer um
para ler o arquivo entaum eu pego e faço um
bom dai vem a duvida como passar os parametros??
seria assim
stmtMes.setInt(1, mesCSV);
dai depois eu faço um executeQuery para ele buscar no banco
bom dai q vem a maior das duvidas como eu faria a comparação para ver se mesBanco == mesCSV ??
sendo q o campo do mes no CSV esta como 6 dado??ou seja tem 5 dados e 4 “;” antes dele??
dai ficaria algo assim a comparação??
if(mesBanco == mesCSV){
out.println(“Dados ja cadastrados”);
} else {
//codigo para inserção
…
}
bom se alguem souber me dar uma luz ai eu fico muito grato valew galera por ter sempre me ajudado ai!!!
Comparação de duas strings deve ser feita com o método equals.
Exemplo:
String s1= "Lula";
String s2= "Alckmin";
if (s1.equals (s2)) {
...
}
disso eu sei veio soq tipo isso eu sei com String comuns mas n qndo se tem de fazer uma busca num banco e outra num CSV neh como eu faria a busca neles para fazerr a comparação este seria o detalhe!! sendo q o mes do banco e um int!!!..???
Os problemas devem ser resolvidos quebrando-os em pedaços.
Converta o “mesBanco” e o “mesCSV” para o mesmo tipo (ou ambos “int”, ou ambos “String”), e compare-os.
Não dá para comparar diretamente um int com uma String - Java é muito rigoroso nesse ponto.
Não entendi alguns pontos da questão…
Ponto 1
O loop mais externo é para ler as linhas do CSV?
Ponto 2
"SELECT mes FROM custos WHERE mes = ?"
Se vc vai montar esse select, pra que precisa comparar o mes da base com o do csv? Isso já não está sendo feito pelo select?
Esse select, vai trazer o mesmo campo usado como argumento de pesquisa? Vc cortou o comando pra colocar no fórum, ou é isso mesmo?
Se esse é o comando SQL completo, pra que vc precisa de N registros iguais? Não poderia colocar um DISTINCT, ou recuperar COUNT(mes)?
Ponto 3: usar o 6o campo de uma linha do CSV, não é só acessar “dados[5]” depois do split feito?
Cheers
certo eu tbn sei disso!!mas o problema mesmo e fazer a busca no CSV para poder compara-los a busca no banco eu faço mas como eu posso fazer uma busca num arquivo CSV de um respectivo dado??!!!
e entao depois disso poder compara-los!!!
eu ja leio ele linha a linha para inserir no banco mas neste caso eu so vou ler o dado do mes e entaum fazer a comparação e e isto q n sei fazer como eu poderei lar so o dado do mes???
bom dai eu teria de fazer um stm.setInt(6, Integer.parseInt(dados[5])):
??:??? seria isto???
se sim como eu faria a comparação depois???