[Bukkit-Plugin-Programmieren] MySQL gucken ob ein Spieler bereits in einer Tabelle ist?

MySQL-Beispiel - (Minecraft, Java, MySQL)

1 Antwort

Wenn ich es richtig verstanden habe, willst du testen ob ein Name schon in der Tabelle in der Spalte Name steht.
Dann einfach: SELECT Name FROM (Table) WHERE Name='Spielername'

Wenn das ResultSet leer ist, dann ist der Spieler nicht in der Tabelle.

Name natürlich klein

0

SO vielleicht?

public static ResultSet inTable(ResultSet s,String name) {
try {
PreparedStatement ps = MySQL.getConnection().prepareStatement("SELECT Name FROM City WHERE Name='"+ name +"'");
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return s;

}

0

Ähm, was soll das jetzt machen? Das sieht sehr komisch aus. Eigentlich war das so gedacht: return connection.createStatement().exeuteQuery((Code oben)).next(); Das gibt true zurück, wenn der Name in der Tabelle ist, du musst natürlich noch ein try catch darum erstellen.

0

Minecraft bukkit Plugin programmieren Namen ändern

Ich würde gerne in mein Plugin eine Funktion haben mit der man den Namen auch über den Köpfen von Spielern ändern kann und das am besten ohne TagAPI usw. Hab selber schon gesucht aber keinen zeitgemäßen Beitrag gefunden hoffe jemand kann mir weiterhelfen.

...zur Frage

Bukkit Plugins programmieren: Mehrere args-Arrays (args[1], args[2]...) zu einem String machen

Wie kann ich bei einem Bukkit-Plugin mehrere Args-Arrays wie args[1], args[2], args[3] usw. zu EINEM String zusammenfassen?

...zur Frage

Plugin Nachricht an alle?

Ich möchte ein Plugin programmieren das an alle Spieler eine Nachricht sendet.

LG

LeProfi

...zur Frage

Bukkit Plugin programmieren - Welches Event ist für das Schlagen auf Mobs und Spieler?

Welches Event ist für das Schlagen von Mobs und Spieler?

Also welches Event wird ausgeführt, wenn ein Spieler einen anderen Spieler oder Tiere oder Monster angreift, (pro Schlag und nicht pro Kill)?

...zur Frage

Ich verstehe diesen MYSQL Befehl nicht, siehe unten?

Also ich will rechnen nachträglich den Preis erhöhen, so:

UPDATE eiskafeetabelle SET preis=preis1.1 WHERE eiskafeetabelle.Produktname=„Eis“;

Hä das macht überhaupt keinen Sinn? Was soll Produkt Name bedeuten? Preis ist ja die Spalte also Merkmal und Eis ist ja der Datenfeldwert aber was ist Produktname? Wir haben:

Tabelle = eiskafeetabelle
Spalte = preis
Eis = Datenfeldwert

Also was ist Produktname zur Hölle?

Mit freundlichen Grüßen

...zur Frage

Wieso funktioniert dieses Minecraft Plugin nicht?

Hi Leute,

ich habe hier ein Minecraft Plugin, dass Spielernamen aus einer Datenbank auslesen soll (mit dem Command /player wird alles gestartet). Wenn ich aber /player eingebe, kommt sowas wie com.mysql.jdbc.JBDC4ResultSet@23bd1b13.

What did I do wrong???

LG, hier ist der Code:

@Override
public void onEnable() {  
    getCommand("player").setExecutor(this);
    System.out.println("Plugin aktiviert");
}


@Override
public void onDisable() {
    System.out.println("Plugin deaktiviert");
}

@Override
public boolean onCommand(CommandSender sender, Command command, String cmd, String[] args) {

    connect();
    createTable();
    ResultSet rs = getResult("SELECT player FROM player WHERE server = 'defense' and active = 'true'");
    System.out.println("[DefenseLogin] Player: " + rs);
    
    return false;
}

  public static String username = "***";
  public static String password = "***";
  public static String database ="***";
  public static String host = "***";
  public static String port = "3306";
  public static Connection con;
  
  public static void connect()
  {
    if (!isConnected()) {
      try
      {
        con = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database, username, password);
        Bukkit.getConsoleSender().sendMessage("MySQL Verbindung aufgebaut");
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
  }
  
  public static void close()
  {
    if (isConnected()) {
      try
      {
        con.close();
        Bukkit.getConsoleSender().sendMessage("MySQL Verbindung geschlossen");
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
  }
  
  public static boolean isConnected()
  {
    return con != null;
  }
  
  public static void createTable()
  {
    if (isConnected()) {
      try
      {
        con.createStatement().executeUpdate("CREATE TABLE IF NOT EXISTS player (ID INTEGER NOT NULL, player VARCHAR(20), server VARCHAR(20), active VARCHAR(10), PRIMARY KEY(ID))");
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
  }
  
  public static void update(String qry)
  {
    if (isConnected()) {
      try
      {
        con.createStatement().executeUpdate(qry);
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
  }
  public static ResultSet getResult(String qry)
  {
    if (isConnected()) {
      try
      {
        return con.createStatement().executeQuery(qry);
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
    return null;
  }

}
...zur Frage

Was möchtest Du wissen?