• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

SQLite - Datenbankfehler

Status
Für weitere Antworten geschlossen.

Lanzettlich

Minecrafter
Registriert
11 September 2012
Beiträge
19
Diamanten
0
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:
	private SQLite sqlite;	static final Logger log = Bukkit.getLogger();
	public void onDisable()
	{
		System.out.println("[Testplugin] disabled");
	}
	public void onEnable()
	{
		sqlite = new SQLite(log, "Testplugin", "testdb", "plugins/Testplugin");
		if(!sqlite.checkTable("test"))
		{
			sqlite.createTable("CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY AUTOINCREMENT,userText TEXT);");
		}
		
		System.out.println("[Testplugin] enabled");
	}
	public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
	{
		if(cmd.getName().equalsIgnoreCase("add"))
		{
			if(args.length < 1)
			{
				sender.sendMessage("Correct usage: /add TEXT");
			} else {
				String message = "";
				for(String s : args)
				{
					message = message + s + " ";
				}
				message = message.replace("'", "");
				sqlite.query("INSERT INTO  test (userText) VALUES ('"+message+"');");
				sender.sendMessage("Danke für deinen Eintrag");
			}
		}
		if(cmd.getName().equalsIgnoreCase("get"))
		{
			if(args.length < 1)
			{
				sender.sendMessage("/get ID");
			} else {
				try
				{
					int id = Integer.parseInt(args[0]);
					ResultSet result = sqlite.query("SELECT * FROM test WHERE id = " + id);
					if(result != null)
					{
						try
						{
							result.next();
							String text = result.getString("userText");
							sender.sendMessage("Inhalt von " + id + " ist: " + text);
							result.close();
							return true;
						}catch(SQLException e)
						{
							
						}
						
					}
				} catch(Exception e)
				{
					sender.sendMessage("Das ist keine Nummer!");
				}
			}


		}
		return true;
	}
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
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.
 
Status
Für weitere Antworten geschlossen.
Oben