Alle prese con i database provo a leggere un file.txt e riempire un file.db!
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 localita=w[1].trim();
String telefono=w[2].trim();
//DB new_db= new DB(nome,localita,telefono);
//indirizzi.add(new_db.località);
s.executeUpdate("drop table places");
s.executeUpdate("create table places (" +
"nome1 VARCHAR(50) PRIMARY KEY, " +
"localita1 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 testa a volte questi codici ti fanno propria arrabbiare mannaggia! perchè non trova la colonna? qualcuno può darmi una mano?
aggiungo anche un estratto del file di per chiarezza:
Bennet Spa; Castelvetro Piacentino (Pc) Str. Statale 10 Cremona-Piacenza; Tel: 0523 825184
Casamercato; Alseno (Pc) 118, V. Roma; Tel: 0523 945911
Naturasi'; Piacenza (Pc) 70, V. Conciliazione; Tel: 0534 609769
Al.Fi Srl; Rottofreno (Pc) 5, Via Curiel S.Nicolo'; Tel: 0523 763077
Al.Fi Srl; Piacenza (Pc) 31, Viale S. Ambrogio; Tel: 0523 305512
Basko S.P.A.; Castel San Giovanni (Pc) 2/B, Via Morselli E.; Tel: 0523 884358
Basko Spa; Borgonovo Val Tidone (Pc) 9, Via Mottaziana; Tel: 0523 864583
Basko Spa; Rottofreno (Pc) Via Emilia Est S.Nicolo'; Tel: 0523 762169
Beverora Market S.N.C. Di Legatti M.C. & Rimondi J.; Piacenza (Pc) Via Emilia Pavese; Tel: 0523 498063
Billa Ag; Castel San Giovanni (Pc) 1, Via Fellegara; Tel: 0523 882475
Billa Aktiengesellschaft; Castel San Giovanni (Pc) Via Emilia Pavese; Tel: 0523 883687
Borgo-Faxhall Borgo Food Srl; Piacenza (Pc) Piazzale Marconi Guglielmo; Tel: 0523 305231
C.Market Srl; Fiorenzuola D'arda (Pc) 18, Via Pellico Silvio; Tel: 0523 981396
C.Market Srl; Gragnano Trebbiense (Pc) 4, Via Trieste; Tel: 0523 788373
Capuano Anna; Podenzano (Pc) 72, Via C. Colombo; Tel: 0523 551097
Castorama Italia Spa; Piacenza (Pc) Strada Bobbiese; Tel: 0523 711431
Centro Commerciale Gotico Soc. Cons. A R. L.; Piacenza (Pc) Via Emilia Parmense; Tel: 0523 606851