Leitura de arquivos e banco de dados

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

Posta o cód, ae pra galera dar uma olhada… assim no escuro fica complicado…

[]'s

[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

caracas…nao tinha observado isso…burrao…caracas…vlws!