Java+sql

4 respostas
T

Ola pessoal, eu sei que o forum e de java, mas como nao sei se o erro esta no meu codigo java ou no codigo sql estou postando e pedindo ajuda...
o problema é o seguinte..
eu tenho alguns arquivos com mais de 1460 linhas..ja consegui le cada um deles sem problemas, porem preciso inserir os valores no banco, entao estou trabalhando com a clausula UPDATE do sql..so que apenas o primeiro valor e que esta sendo gravado em todas as linhas do banco...
segue o codigo:
[code]
PreparedStatement stm = null;
Connection con = null;
String line;

try {
con = getConnection();
con.setAutoCommit(false);
File file = new File("nome1996.txt");
FileReader fr = new FileReader(file);
BufferedReader buffer = new BufferedReader(fr,1*1024*1024);
while((line = buffer.readLine()) != null) {
System.out.println(line);
stm = con.prepareStatement("UPDATE vestibular1996 SET nome = '"+line+"' WHERE nome = ''");
stm.executeUpdate();
}
con.commit();
fr.close();
buffer.close();
}
[quote]

se alguem tiver alguma idea...

vlws,

4 Respostas

G

dessa forma vc soh pega o primeiro caracter mesmo, vc tem que usar um for ou um while, toh fazendo um trabalho parecido com o seu quando eu termina-lo posto o codigo aki pra vc ok?

vlws

G

de uma olhada nesses dois links aki talvez ajude:

http://www.guj.com.br/java.tutorial.artigo.183.1.guj

http://www.guj.com.br/java.tutorial.artigo.13.1.guj

vlws

T

Eu testei conforme os artigos…mas a mesma coisa continua acontecendo…ou seja, ainda nao sei se o erro esta no codigo sql ou no codigo java…porque ele le as linhas do arquivo perfeitamente…mas na hora de gravar no banco ele pega apenas uma linha e grava em todas linhas do banco o mesmo valor…

mais alguma ideia…???

vlws,

samuelhenriquerj

thats, pelo q eu vi o erro é de lógica, pois na sua consulta vc altera o nome de todos os que estão vazios, ou seja, todos que esta vazios vao receber o valor q vc setou. Talvez o mais apropriado no seu caso é filtrar por codigo, ou algo deste tipo, dentro de um while, pois se for por nome null, vc nao vai ter o resultado q espera.

Criado 13 de fevereiro de 2008
Ultima resposta 14 de fev. de 2008
Respostas 4
Participantes 3