Alle prese con i database provo a leggere un file.txt e riempire un file.db!
Posto il codice:
package beans;
import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.ArrayList;
public class Main {
public static void main (String [] args) throws Exception {
Class.forName("org.sqlite.JDBC");
Connection c = DriverManager.getConnection("jdbc:sqlite:db1.db");
Statement s = c.createStatement();
ArrayList<String> indirizzi= new ArrayList<String>();
BufferedReader br = new BufferedReader( new FileReader("Docs/DB.txt"));
String line;
while((line=br.readLine())!=null){
String [] w=line.split(";");
String nome=w[0].trim();
String località=w[1].trim();
String telefono=w[2].trim();
//DB new_db= new DB(nome,località,telefono);
//indirizzi.add(new_db.località);
//s.executeUpdate("drop table places");
s.executeUpdate("create table places (" +
"nome1 VARCHAR(50) PRIMARY KEY, " +
"località1 VARCHAR(50), " +
"telefono1 INTEGER(50))");
s.executeUpdate("insert into places(nome1,localita1,telefono1) values(nome,localita,telefono)");
}br.close();
for (int i=0;i<indirizzi.size();i++)
System.out.println(indirizzi.get(i));
}
}
metto anche la stack:
Exception in thread "main" java.sql.SQLException: no such column: nome
at org.sqlite.DB.throwex(DB.java:288)
at org.sqlite.NativeDB.prepare(Native Method)
at org.sqlite.DB.prepare(DB.java:114)
at org.sqlite.Stmt.executeUpdate(Stmt.java:102)
at beans.Main.main(Main.java:35)
Non capisco come saltarci fuori e dove sbattare la testaa volte questi codici ti fanno propria arrabbiare mannaggia! perchè non trova la colonna? qualcuno può darmi una mano?