thats
Fevereiro 12, 2008, 6:52pm
#1
Ola pessoal,
estou tentando gravar a saida da leitura de alguns arquivos no banco de dados, mas por algum motivo ele le o arquivo normalmente, ou seja, fiz um teste com o System.out.print e ele le o arquivo normal…mas na hora de gravar os valores ele grava null…alguem tem alguma idea do que pode ser…??
vlws
crpablo
Fevereiro 12, 2008, 7:24pm
#2
Posta o cód, ae pra galera dar uma olhada… assim no escuro fica complicado…
[]'s
thats
Fevereiro 12, 2008, 7:35pm
#3
[code]public static void main(String[] args) throws Exception {
PreparedStatement stm = null;
Connection con = null;
String line = null;
String sql = “INSERT INTO vest1996(insc) VALUES (’”+line+"’)";
try {
con = getConnection();
con.setAutoCommit(false);
File file = new File("insc1996.txt");
FileReader fr = new FileReader(file);
BufferedReader buffer = new BufferedReader(fr);
while((line = buffer.readLine()) != null) {
System.out.println(line);
stm = con.prepareStatement(sql);
stm.executeUpdate();
}
con.commit();
}
catch(ClassNotFoundException cnf) {
cnf.printStackTrace();
}
catch(SQLException sqle) {
sqle.printStackTrace();
}
catch(InstantiationException ie) {
ie.printStackTrace();
}
catch(IllegalAccessException iae) {
iae.printStackTrace();
}
new Init();
}
[/code]
segue o codigo…
vlws
Essas linhas geram o problema mencionado.
Voce iniciou um objeto String com null e logo em seguida iniciou outro objeto String (SQL) concatenando com o primeiro.
String line = null;
String sql = "INSERT INTO vest1996(insc) VALUES ('"+line+"')";
O resultado disso sempre vai ser
"INSERT INTO vest1996(insc) VALUES ('null')"
Assim deve funcionar:
public static void main(String[] args) throws Exception {
PreparedStatement stm = null;
Connection con = null;
String line = null;
String sql = "INSERT INTO vest1996(insc) VALUES (?)";
try {
con = getConnection();
con.setAutoCommit(false);
File file = new File("insc1996.txt");
FileReader fr = new FileReader(file);
BufferedReader buffer = new BufferedReader(fr);
stm = con.prepareStatement(sql);
while((line = buffer.readLine()) != null) {
System.out.println(line);
stm.setString(1, line);
stm.executeUpdate();
stm.clearParameters();
}
con.commit();
}
catch(SQLException sqle) {
sqle.printStackTrace();
}
}
Abraco
thats
Fevereiro 13, 2008, 3:29pm
#5
caracas…nao tinha observado isso…burrao…caracas…vlws!