MySQL Abfrage. keine Ahnung

Status
Nicht offen für weitere Antworten.

Darcoda

Mitglied
Also ich möchte etwas aus einer Datenbank auslesen und als return zurückgeben. Leider funktioniert das nicht, kann mir da jemand helfen?

Code:
    public String getMag(String s)
    {
        String s1 = mysql("SELECT hobby FROM usertable WHERE nick LIKE 'Darcoda'");
        return s1;
        
    }


und der Part mysql:
Code:
public synchronized void mysql(String s)
    {
        try
        {

       try {
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
        }
        catch (Exception E) {
          System.out.println("error in function mysql");
            System.out.println("Unable to load driver");       }

        try {
            Connection C = DriverManager.getConnection(
              "jdbc:mysql://" + (String)config.hash.get("dbHost") + "/" + (String)config.hash.get("dbDatabase") + "",(String)config.hash.get("dbUser"),(String)config.hash.get("dbPassword"));
            Statement Stmt = C.createStatement();

            ResultSet RS = Stmt.executeQuery("" + s + "");
      C.close();
            RS.close();
            Stmt.close();

        }
        catch (SQLException E) {
          System.out.println("error in function mysql");
            System.out.println("SQLException: " + E.getMessage());
            System.out.println("SQLState:     " + E.getSQLState());
            System.out.println("VendorError:  " + E.getErrorCode());


        }


            return;
        }
        catch(Exception exception)
        {
            return;
        }
    }


wo liegt da nun der Fehler? ich habe zwar schon gegoogelt aber ich komme nicht weiter 🙁
 
welcher Fehler denn/ was geht fasch, Fehlermeldung usw,
du kannst doch nicht Code posten
(der bei DB-Abfragen besonders schlecht zu testen ist)
und dann nur fagen wo der Fehler ist
 
mir ist klar das void nichts zurück gibt, ich kann es aber auch nicht als String schreiben, also das mysql, da fliegen noch mehr exceptions rum...

Fehler so wie es nun ist:

Registry.java:496:25: incompatible types
found : void
required: java.lang.String
return master.mysql("SELECT hobby FROM usertable WHERE nick LIKE 'Darcoda'");
^
und wenn ich das andere als String mache...

ChatServer.java:2041:13: missing return value
return;
^
ChatServer.java:2045:13: missing return value
return;
^


und ab wann sollte ich dann ein Return einsetzen?!
 
return setzt du dann ein, wenn du es für richtig hälst,

ganz zu Beginn musst du doch erstmal überlegen, ob eine Operation etwas zurückgeben soll oder nicht,
wenn du statt void String schreibst, dann soll mysql also irgendwas zurückgeben,
dann fehlt aber
return irgendwas;
in dieser Operation, ohne gehts nicht, das wäre void
 
zu beginn würd ich mir mal die grundlagen anshen, bevor du da irgendwelche datenbanken penetrierst.

was sind primitive datentypen, klasse, funktionen, schleifen, if usw...

und zwischen Zeile 19 und 20 kommt dann sowas:
Code:
if(RS.next()){
 return  RS.getString(1);
}
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben