Ich nutze auch Eclipse nur nutze ich ein Macbook deshalb kann ich keine JDBC Driver fürn Mac finden. Hat vielleicht jemand eine Idee ?
Beiträge von Master147
-
-
Muss ich dafür etwas installieren, da das Import java.sql nicht erkannt wird bei mir.
Heyho, also ich habe mir das damals so geschrieben.
Bin jetzt kein Experte in Java, also evtl. geht es cleaner :D. (geht es ja fast immer)
MySQL klasse:
Java
Alles anzeigenpackage Mysql; // anpassen import java.sql.*; public class mysql { private static String url = "jdbc:mysql://Ip/DatenBank"; //Serverip und Datenbank auswählen private static String user = "root"; private static String pass = "password"; private static Connection con = null; public static void main(String[] args){ } public static void close()// schließt die Mysql Conenction con und setzt sie wieder auf null (falls es nicht geht, gibt es ein Mysql fehler aus) { try { if(!con.isClosed()) { con.close(); con = null; System.out.println("Database closed"); } } catch (SQLException e) { e.printStackTrace(); } } public static PreparedStatement prepareStatement(String s) { try { return con.prepareStatement(s); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } public static Statement createStatement() { try { return con.createStatement(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } public static boolean open() //Öffnet eine verbindun, falls keiner existiert. dafür nutzen fir die Conenction con variable. { if(con != null)return true; try { con = DriverManager.getConnection(url, user, pass); System.out.println("Database connected"); } catch (SQLException e) { System.out.println(e.getMessage()); return false; } return true; } }
Dann kannst du in deinem Programm das ganz einfach nutzen wie hier z.B.:
Java
Alles anzeigenpackage Mysql; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class programm { public static void main(String[] args){ auftragLaden(); } public static void auftragLaden() { if(!mysql.open())return; try { Statement stm = mysql.createStatement(); String query = "SELECT * FROM Tabelle"; ResultSet rs = stm.executeQuery(query); while(rs.next()){ //rs.getInt("SpaltenName aus der Tabelle"), achte gleich auf die werte ob Int, String, boolean System.out.println(rs.getInt("ID") + " " + rs.getString("Name")); //Bsp. } mysql.close(); } catch (SQLException e) { e.printStackTrace(); } } public static void auftragSpeichern() { if(!mysql.open())return; try { String query = "UPDATE Tabelle SET Thema = ? WHERE ID = ?"; PreparedStatement ps = mysql.prepareStatement(query); // ps.setString(a,b) a = welches Fragezeichen aus der query fängt bei 1. b = der wert für das Fragezeichen geht auch setString und co. ps.setInt(1, 99); ps.setInt(2, 4); //beispiele ps.executeUpdate(); System.out.println("Mysql Updated"); mysql.close(); } catch (SQLException e) { e.printStackTrace(); } } public static void auftragErstellen() { if(!mysql.open())return; try { String query = "INSERT INTO Tabelle (Regel, Thema) VALUES (?, ?)"; PreparedStatement ps = mysql.prepareStatement(query); // ps.setString(a,b) a = welches Fragezeichen aus der query fängt bei 1. b = der wert für das Fragezeichen ps.setString(1, "Nicht bei Rot fahren"); ps.setInt(2, 108); //beispiele ps.executeUpdate(); System.out.println("Mysql Insert"); mysql.close(); } catch (SQLException e) { e.printStackTrace(); } } }
kleiner eklärung dazu:
Code
Alles anzeigenErkärung noch evtl. weil du meintest nciht verstanden: Verbindung aufbauen tuhen wir hiermit: private static String url = "jdbc:mysql://Ip/DatenBank"; //Serverip und Datenbank auswählen private static String user = "root"; private static String pass = "password"; private static Connection con = null; try { con = DriverManager.getConnection(url, user, pass); System.out.println("Database connected"); } catch (SQLException e) { System.out.println(e.getMessage()); return false; } wichtig ist immer,w enn wir mit mysql fertig sind die conenction weider zuschließen. dafür nutzen wir dann con.close(); mit co.prepareStatement(query); können wir noch die ? ersetzen und somit mit unseren values füllen und am ende con.createStatement(); damit erstellen wir einfach eine feste query abfrage ich habe das als Klasse ausgelagert, damit man leichtere übersicht hat und man es noch als Object anpassen kann für verschiedene Datenbanken...
-
Guten Tag,
ich möchte gerne wissen wie ich mein Java programm mit Mysql verbinden kann. Ich habe vieles durchgelesen und nicht verstanden.
Ich bin gerade dabei etwas zu programmieren und komme nicht weiter. Und zwar hat mein Programm das Objekt z.B kunde. Der Kunde hat viele attribute wie z.B adresse, plz und geburtsdatum. Wie kann ich beim start des programms die daten auslesen und in einen HashSet Kunde speichern ?
Mit freundlichen Grüßen
Master147
Hier kann ich mein code zum speichern und laden in text dateien zeigen.
Code
Alles anzeigenpublic void auftragLaden() { try(FileInputStream fops = new FileInputStream("Auftraege"); ObjectInputStream oos = new ObjectInputStream(fops)) { System.out.println(auftrag = (HashSet<Auftrag>) oos.readObject()) ; } catch (IOException e) { } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void auftragSpeichern() { try(FileOutputStream fops = new FileOutputStream("Auftraege"); ObjectOutputStream oos = new ObjectOutputStream(fops)) { oos.writeObject(auftrag); } catch(Exception e) { e.printStackTrace(); } }
-
Ja bekomme ich
-
Guten Tag,
in der Hausaufgabe sollen wir eine Liste in Java erstellen. Wenn wir ein Item anklicken soll die Anwesendheit von diesem Item von Anwesend zu nicht Anwesend und anders rum gewechselt werden. Die Einträge sind Objekte die als String ausgeschrieben worden sind,
Code
Alles anzeigenliste.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent click) { if(click.getClickCount() == 2 )//&& click.getButton() == MouseButton.PRIMARY) { var item = liste.getSelectionModel().getSelectedItem(); System.out.println(item.toString()); } } });
Ich habe keine Ahnung wie ich da durch auf das Objekt zugreifen kann um die anwesendheit auf false zu setzen.
Mfg
Master147
-
Guten Tag,
ich habe ein Problem und zwar muss ich bei JavaFX eine Liste ausgeben, die die ganzen Lernkarten ausgibt.
Bei jeder weiteren erstellten Karte soll die Liste aktualisiert werden. Leider habe ich ein Problem und zwar mir werden keine Daten gelistet sobald ich ein neue Karte erstelle.
Ich hoffe jemand kann mir sehr schnell dabei helfen.
Mein Code:
Die ObservableList
Code
Alles anzeigenObservableList<String> liste = FXCollections.observableArrayList(); Lernkarte[] ak = lk.gibAlleKarten(); for(int i = 0; i < ak.length; i++) { liste.add(ak[i].toString()); } ListView<String> listview = new ListView<>(liste); bp.setCenter(listview); liste.addListener(new ListChangeListener<String>() { @Override public void onChanged(Change <?extends String> c) { while(c.next()) { if(c.wasAdded()) { Lernkarte[] ak = lk.gibAlleKarten(); for(int i = 0; i < ak.length; i++) { liste.add(ak[i].toString()); } } } } });
Die Position wo die Karte erstellt wird:
Code
Alles anzeigenb1.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { try { einzelantwortkarte = new EinzelantwortKarte(t1.getText(), t2.getText(), t3.getText(), textfield.getText()); lernkartei.hinzufuegen(einzelantwortkarte); Stage stage = (Stage) b2.getScene().getWindow(); stage.close(); } catch (UngueltigeKarteException e) { e.printStackTrace(); } System.out.println("Karte wurde erstellt"); } });
Mit freundlichen Grüßen
Master147
-
Das Problem kann ich immer noch nicht lösen....
-
Mit freundlichen Grüßen
Master147
-
Guten Tag,
habe ein altes laptop hier rumliegen den acer aspire 5755G. Ich habe dem laptop eine ssd und windows 10 pro installiert gehabt. Heute habe ich dem einen weiteren 4gb ram riegel eingebaut. Das problem ist er erkennt die 8 gb aber es sind nur 2.36 gb verwendbar. Ich wollte mal fragen woran das liegen könnte.
Mit freundlichen Grüßen
Master147
-
Ja, okay. Dann meine erste Frage, was sollte denn ausgegeben werden?
Jede Lernkarte hat eine Kategorie, eine Frage und eine antwort. Es sollen genau die Lernkarten mit frage und antwort ausgegeben werden, die z.B die Kategorie Fußball haben. Wenn in einer Lernkartei 10 Lernkarten sind und von den 10, fünf die kategorie fußball haben sollen die Fünf lernkarten mit der kategorie Fußball mit frage und antwort in einem neuen Array ausgegeben werden.
-
Wird alles richtig dargestellt sind halt die 2 Objekte.
Was sollte denn stattdessen darin stehen?
Btw wieso fangen deine Schleifen bei 1 und nicht bei 0 an zu zählen?
Und wieso 2 Schleifen und nicht einfach eine Liste nutzen?
Java
Alles anzeigenpublic Lernkarte[] gibKartenZuKategorie(String kategorie) { List<Lernkarte> kategorieFragen = new ArrayList<Lernkarte>(); for (Lernkarte karte : karten) { if(karte != null && karte.getKategorie().equals(kategorie)) kategorieFragen.add(karte); } return kategorieFragen.toArray(new Lernkarte[0]); //Sieht dumm aus, macht aber aus der List, ein normales Array }
Schön und gut aber wir sollen nur mit Arrays arbeiten und nicht mit Listen. Ist eine Schul Aufgabe
-
-
Guten Tag,
ich habe eine frage und zwar sollte ich eine Lernkartei erstellen mit mehreren Lernkarten. Ich sollte dann mit einer Methode die Lernkarten ausgeben, die die gleiche Kategorie haben. Aber leider kann ich das Array nicht ausgeben bzw. der Inhalt vom Array wird nicht richtig dargestellt. Ich hoffe jemand kann mir helfen.
Code
Alles anzeigenpublic Lernkarte[] gibKartenZuKategorie(String kategorie) { int zaehler = 0; Lernkarte[] kategorieFragen; for (int i = 1; i < karten.length; i++) { if(karten[i] != null && karten[i].getKategorie().equals(kategorie)) { zaehler += 1; } } // end of for kategorieFragen = new Lernkarte[zaehler]; zaehler = 0; for (int j = 1; j < karten.length; j++) { if(karten[j] != null && karten[j].getKategorie().equals(kategorie)) { kategorieFragen[zaehler] = karten[j]; zaehler += 1; } } // end of for return kategorieFragen; }
Mit freundlichen Grüßén
Master147
-
Guten Tag ich soll eine Treppe mit Sternen ausgeben. dies habe ich gemacht.
Jetzt soll die Treppe anders aussehen.
Die höhe ist individuell d.h. in dem Beispiel sind es 8.
Die Stufentiefe ist auch individuell d.h. in dem Beispiel sind es 3.
Brauche unbedingt Hilfe weil ich es nicht gelöst bekomme.
-
Wie würde dann die Get Methode aussehen ?
wäre nett wenn du mir da auch behilflich sein würdest.
Mit freundlichen Grüßen
Master147
-
Guten Tag,
ich muss eine Aufgabe für die Schule machen, die aber nicht so funktioniert wie ich es haben wollte.
Mein Code:
Mein Fehler:
Code.\Lieferdienst.java:25:42: error: illegal start of expression Salat p3 = new Salat({"Thunfisch","Eisberg","Tomate"},4.90,3); ^ .\Lieferdienst.java:25:43: error: illegal start of type Salat p3 = new Salat({"Thunfisch","Eisberg","Tomate"},4.90,3); ^ .\Lieferdienst.java:25:75: error: <identifier> expected Salat p3 = new Salat({"Thunfisch","Eisberg","Tomate"},4.90,3); ^ 3 errors
Würde mich auf eine schnelle Hilfe freuen.
Mit freundlichen Grüßen
Master147
-
das hat mir jz viel geholfen danke :))
-
ich habs aber doch definiert ?
-
-
Wieso funktioniert es den nicht ? habe derzeit nur Fehler
Code
Alles anzeigendef button_mal(): if eingabefeld.get() == str() or not eingabefeld.nurzahlen(): return elif eingabefeld.get() != str(): zahl1 = eingabefeld.get() global z1 global operator z1 = float(zahl1) operator = "*" eingabefeld.delete(0, END) def nurzahlen(): mark = eingabefeld.get() try: float(mark) except ValueError: try: float(mark) except ValueError: eingabefeld.delete(0, END) eingabefeld.insert(0, "Ungültig") eingabefeld.config(state='readonly')