ich habe folgendes Problem:
ich will in einer Spatialite Datenbank eine Tabelle erstellen, die den Namen anhand von einer Getter-Methode einer anderen Klasse bekommt, der Code sieht folgendermaßen aus:
nach dem execute kommt immer ein
[SQLITE_ERROR] SQL error or missing database (unrecognized token: "2012Feb6")
das System.out.println zeigt mir aber die normal übliche SQL schreibweise für das statement:
CREATE TABLE 2012Feb6(id INTEGER NOT NULL PRIMARY KEY,name TEXT NOT NULL)
wenn ich aber das
weglasse, erzeugt er mir ganz normal die Tabelle "abc". Kann das sein dass das prepared statement keine getter Methoden verträgt? wenn ja, wie kann ich das dann lösen?
ich will in einer Spatialite Datenbank eine Tabelle erstellen, die den Namen anhand von einer Getter-Methode einer anderen Klasse bekommt, der Code sieht folgendermaßen aus:
Java:
private static String trname = Track.getTrackname(); // "2012Feb06"
private static void initDatabase() throws ClassNotFoundException{
Class.forName("org.sqlite.JDBC");
conn = null;
String track = "abc";
track= trname;
try {
SQLiteConfig config = new SQLiteConfig();
config.enableLoadExtension(true);
Connection conn = DriverManager.getConnection("jdbc:sqlite:spatialite.sqlite", config.toProperties());
Statement stmt = conn.createStatement();
stmt.setQueryTimeout(30);
stmt.execute("SELECT load_extension('libspatialite-2.dll')");
String sql = "SELECT InitSpatialMetadata()";
stmt.execute(sql);
// creating a POINT table
sql = "CREATE TABLE ";
sql += track;
sql += "(id INTEGER NOT NULL PRIMARY KEY,";
sql += "name TEXT NOT NULL)";
System.out.println(sql);
stmt.execute(sql);
nach dem execute kommt immer ein
[SQLITE_ERROR] SQL error or missing database (unrecognized token: "2012Feb6")
das System.out.println zeigt mir aber die normal übliche SQL schreibweise für das statement:
CREATE TABLE 2012Feb6(id INTEGER NOT NULL PRIMARY KEY,name TEXT NOT NULL)
wenn ich aber das
Java:
track= trname;