MySQL Fehler

Dieses Thema im Forum "Programmierung" wurde erstellt von HeadiPlays, 5. April 2014.

  1. HeadiPlays
    Offline

    HeadiPlays

    Registriert seit:
    8. Februar 2014
    Beiträge:
    45
    Ort:
    Bayern
    Minecraft:
    HeadShotNoob
    Hallöle :)

    Ich möchte beim onEnable() {...

    eine Datenbank erstellen, falls sie nicht existiert.
    Ich habe den MySQL befehl bereits in der SQL ausprobiert, und dort hat er
    reibungslos funktioniert..
    Hier der CODE:
    Code (Text):
    1.  
    2. MySQL.Update("CREATE TABLE IF NOT EXISTS general (id int(5), kills int(5), deaths int(5), name varchar(16))");
    3.  
    Hier die Fehlermeldung:

    Code (Text):
    1.  
    2. [18:36:23 WARN]: java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
    3.  
    Und hier meine MySQL klasse:

    Code (Text):
    1.  
    2. public class MySQL {
    3.    
    4.     public static String user ="root";
    5.     public static String pass = "ichbrauchehilfe";
    6.     public static String host = "localhost";
    7.     public static String db = "bowgame";
    8.     public static Connection con;
    9.    
    10.     public static void connect() {
    11.         try {
    12.             con = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + db, user, pass);
    13.             System.out.println("[MySQL] Sucessfully connected!");
    14.         }catch (SQLException e) {
    15.             System.err.println(e);
    16.         }
    17.        
    18.        
    19.     }
    20.    
    21.    
    22.     public static void close() {
    23.        
    24.             try {
    25.                 if(con != null) {
    26.                 con.close();
    27.                 }
    28.             } catch (SQLException e) {
    29.                 System.err.println(e);
    30.             }
    31.         }
    32.    
    33.     public static void Update(String qry) {
    34.         try {
    35.             Statement st = (Statement) con.createStatement();
    36.             st.executeQuery(qry);
    37.         } catch (SQLException e) {
    38.             System.err.println(e);
    39.         }
    40.     }
    41.     public static ResultSet Query(String qry) {
    42.        
    43.         ResultSet rs = null;
    44.        
    45.         try {
    46.             Statement st = (Statement) con.createStatement();
    47.             st.executeQuery(qry);
    48.         } catch (SQLException e) {
    49.             System.err.println(e);     
    50.             }
    51.         return rs;
    52.     }
    53. }
    54.    
    55.  
    Ich hoffe, ihr könnt mir helfen :)
     
    #1
  2. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Mit eine Abfrage(engl. "Query") bekommst du Daten zurück, manipulierst aber keine. Dazu musst du excuteUpdate verwenden.
    Übrigens hätte [LCGTFY]java.sql.SQLException: Can not issue data manipulation statements with executeQuery().[/LCGTFY] auch gereicht.
     
    #2
  3. To_Bii
    Offline

    To_Bii

    Registriert seit:
    27. Januar 2014
    Beiträge:
    14
    Code (Text):
    1. st.executeUpdate(qry);
    sollte funktionieren ;)! Zwar nicht getestet, aber ansonsten sehe ich keinen Fehler :)
     
    #3