SQLite - Datenbankfehler

Dieses Thema im Forum "Programmierung" wurde erstellt von Lanzettlich, 2. November 2012.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Lanzettlich
    Offline

    Lanzettlich

    Registriert seit:
    11. September 2012
    Beiträge:
    19
    Hallo!

    Ich habe mir auf YouTube das Tutorial von Benni1000 zu SQLite angesehen: http://www.youtube.com/watch?v=Csab5Qr_p_0&feature=plcp.

    Wenn ich einen Text über /add TEXT eintrage, wird der Text nicht in der testdb.db gespeichert.
    Das Auslesen funktioniert deshalb auch nicht.
    Fehlermeldung in der Console bei add:
    "2012-11-02 10:48:48 [WARNING] Testplugin[SQLite] Query failed: no such table: test"
    Fehlermeldung bei get:
    "2012-11-02 10:48:53 [WARNING] Testplugin[SQLite] Query failed: [SQLITE_ERROR] SQL error or missing database (no such table: test)"

    Ich bin das Skript mehrmals auf Fehler durchgegangen, habe aber nichts gefunden :/
    Code:
    Code (Text):
    1.     private SQLite sqlite;  static final Logger log = Bukkit.getLogger();
    2.     public void onDisable()
    3.     {
    4.         System.out.println("[Testplugin] disabled");
    5.     }
    6.     public void onEnable()
    7.     {
    8.         sqlite = new SQLite(log, "Testplugin", "testdb", "plugins/Testplugin");
    9.         if(!sqlite.checkTable("test"))
    10.         {
    11.             sqlite.createTable("CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY AUTOINCREMENT,userText TEXT);");
    12.         }
    13.        
    14.         System.out.println("[Testplugin] enabled");
    15.     }
    16.     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    17.     {
    18.         if(cmd.getName().equalsIgnoreCase("add"))
    19.         {
    20.             if(args.length < 1)
    21.             {
    22.                 sender.sendMessage("Correct usage: /add TEXT");
    23.             } else {
    24.                 String message = "";
    25.                 for(String s : args)
    26.                 {
    27.                     message = message + s + " ";
    28.                 }
    29.                 message = message.replace("'", "");
    30.                 sqlite.query("INSERT INTO  test (userText) VALUES ('"+message+"');");
    31.                 sender.sendMessage("Danke für deinen Eintrag");
    32.             }
    33.         }
    34.         if(cmd.getName().equalsIgnoreCase("get"))
    35.         {
    36.             if(args.length < 1)
    37.             {
    38.                 sender.sendMessage("/get ID");
    39.             } else {
    40.                 try
    41.                 {
    42.                     int id = Integer.parseInt(args[0]);
    43.                     ResultSet result = sqlite.query("SELECT * FROM test WHERE id = " + id);
    44.                     if(result != null)
    45.                     {
    46.                         try
    47.                         {
    48.                             result.next();
    49.                             String text = result.getString("userText");
    50.                             sender.sendMessage("Inhalt von " + id + " ist: " + text);
    51.                             result.close();
    52.                             return true;
    53.                         }catch(SQLException e)
    54.                         {
    55.                            
    56.                         }
    57.                        
    58.                     }
    59.                 } catch(Exception e)
    60.                 {
    61.                     sender.sendMessage("Das ist keine Nummer!");
    62.                 }
    63.             }
    64.  
    65.  
    66.         }
    67.         return true;
    68.     }
     
    #1
  2. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Ich sehe da eigentlich auch keinen Fehler.
    Versuch mal den Server ganz zu stoppen, und ihn dann nochmal hochzufahren.
    Er hat anscheinend die Tabelle "test" nicht anlegen können.
     
    #2
  3. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Mach das checktable mal weg, da du eh ein "IF NOT EXIST" verwendest.
     
    #3
  4. Lanzettlich
    Offline

    Lanzettlich

    Registriert seit:
    11. September 2012
    Beiträge:
    19
    Geht noch immer nicht, das checktable habe ich weggemacht und den Server mehrmals neu gestartet.
    Liegt der Fehler vielleicht an den Imports?
    die SQLibrary.jar habe ich importiert, und den entpackten Ordner der SQLibrary.
    http://www10.pic-upload.de/03.11.12/vve6l6sd3mu.png
     
    #4
  5. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Ich glaube da passt alles, lade mal das ganze projekt als .zip gepackt hoch und poste den link hier rein.
     
    #5
Status des Themas:
Es sind keine weiteren Antworten möglich.