Zum Inhalt springen

p_krger

Mitglieder
  • Gesamte Inhalte

    27
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von p_krger

  1. Weiß nicht aber angesichts deines Alters und vielleicht bestehender Berufserfahrung (hast du nix von berichtet?) bewegst du dich mit 2000 Brutto eher etwas im unteren Bereich oder nicht? Würde es genauso machen wie hier beschrieben: annehmen und woanders bewerben.. Viel Erfolg!
  2. p_krger

    XML Validierung

    Falls auch jemand dieses, auch dieses und nur dieses Problem hat: Das hier ist die Lösung
  3. p_krger

    XML Validierung

    Hi ich habe ein xml-Dokument und ein Schema im .xsd Format und möchte nun schauen, ob das xml denn auch dem Schema entspricht. Habe schon zahlreiche Tutorials ausprobiert, irgendwie klappt das nicht so wie gewollt. Ich will einfach nur den Dateipfad beider Dateien eingeben und das Programm dann entweder ein "ok" oder ein "nicht ok" ausspucken lassen. Hat jemand eine Idee? Lieben Gruß
  4. Jetzt nach dem Umzug, 20-25min statt vorher eine Stunde
  5. Also sehr geehrte Damen und Herren ist immer ****e. Wenn du schon im gleichen Laden arbeitest, dann schau doch, ob du einen persönlichen Ansprechpartner findest. Solche Bewerbungen werden sonst immer gleich beseitge gelegt; Ablage P eben. Ist es überhaupt notwenidig, dass du dich noch einmal schriftlich bewirbst? Ist das KH so groß? Ich könnte mir vorstellen, dass es auch reicht, einfach zu jemandem aus der Personalabteilung zu gehen und dort mit jemandem zu sprechen oder habe ich da ein falsches Bild?
  6. Also meine tägliche Verpflegung. Ich sag mal 2,50 bis 3€ in der Kantine. Das Essen da macht ein Partyservice und ist eigentlich immer ganz lecker. Espresso/Kaffee mache ich mir selber, muss ich daher nicht kaufen. Espresso kostet nicht die Welt und Kaffee/Tee/usw. stellt eh die Firma. Das, was ich einkaufe, mir morgens und abends mache zu Essen/Trinken, rechne ich da mal nicht mit ein. Aber ganz grob übeschlagen sind das vielleicht 5 oder 6€ am Tag.
  7. Achso, du bist nicht daheim.. hmm man müsste ortunabhängig immer seinen Heim-PC starten können, Instanz von Teamviewer beim Start und gleich rauf da..
  8. Was spricht gegen einen neuen Account? Wohin willst du dir im Falle eines Passwortzurücksetzens denn das Passwort schicken lassen, wenn die E-Mail-Adresse nicht mehr existiert?
  9. Ja nein das sollte auch glaube ich keine Beleidigung oder sowas sein, sondern nur ein gut gemeinter Rat. Jeder Coder entwickelt im Laufe seiner Laufbahn seinen eigenen Stil. Bin auch erst im zweiten Lehrjahr und fange später auch hier bei den Programmierern an und war auch schon länger und öfter in der Abteilung, sodass mir durchaus die Grundstilistiken bekannt sind. Lass dich davon nicht unterkriegen, wenn andere hier Power-Codes schreiben, die voll abgespaced aussehen wenn du sagst, dass du erst seit ein paar Tagen in der Programmierung sitzt und es vielleicht auch nicht deine Fachrichtung ist (?) und von dir behauptest, dass du eigentlich keine Ahnung davon hast: dein Programm läuft doch, also jeder fängt mal klein an Edit: wichtig ist mir zB nur, dass man wissbegierig und neugierig bleibt und nach wie vor offen für alles ist (fachlich gesehen).
  10. Hauptsache erstmal alle verwirren und mich ne Stunde überlegen lassen jaa jaa
  11. Oh zu spät gesehen, egal Dann ist es eben so, viel Spaß Edit: stimmt, so rum wäre es auch einfacher finde ich... naja gut
  12. Also ich versuche es einmal zu erklären - und ich hoffe, ich habe es selber richtig kapiert : Hashmap funktioniert so, dass du einem Schlüssel einen eindeutigen Wert zuordnest: Key -> Value Person 1 -> Peter Person 2 -> Paul Person 3 -> Maria Was ich denke, was ich glaube, was du versuchst ist folgendes: Key -> Value Person 1 -> "Daniel", "Daniel@aol.de", "08315364", "Memminger Straße 100", "Kempten" Person 2 -> "Andreas", "andy@gmx.de", "0833196870", "Hauptstraße 10a", "Memmingen" Person 3 -> "Isabell", "isi_bell@web.de", "089775361", "Theresienstraße 5", "München" oder anders geschrieben: Key -> Value Person 1 -> kontaktDaten(0) [hier steht der Daniel drin] Person 2 -> kontaktDaten(1) [hier steht der Andreas drin] Person 3 -> kontaktDaten(2) [und hier die Isabell] Was ich nun herausgefunden habe, ist, dass du mit dieser Schleife deine drei Personen in deine Map schreiben kannst: for (int i = 0; i < kontaktDaten.size(); i++) { kontaktListe.put("Person " + i, kontaktDaten.get(i)); } Das erkenne ich daran, dass danach die System.out.println(kontaktListe.size()); 3 Einträge ausspuckt. Außerdem kannst du nun sehen, dass deine drei Personen ordentlich abgespeichert wurden und dir mit System.out.println(kontaktListe); im Rohdatenformat oder sowas ekliges diese anzeigen lassen: Du siehst, du hast dort drei Keys (Person 0, Person 2 und Person 1) und ihnen ihre Einträge zugeordnet. Sorry, ich habe nun einen Termin und kann dir daher nicht weiter helfen. Ich hoffe aber, dass du das jetzt allein schaffst und wünsch dir viel Erfolg bei deiner Aufgabe
  13. Naja, das ist in dem Fall nur dem User seine Variable, die er eben so genannt hat. Ich bastel mit deinen Code mal in Eclipse sein und untersuche das genauer, vielleicht find ich da eine Lösung
  14. Erfolgt beim Schreiben in ein Array nicht so eine Typkonvertierung? Ich lasse mir die Inhalte meiner Array immer über ganz billige for-Schleifen ausgeben, sodass ich wirklich jeden Wert erwische. Je nachdem, was du für eine Arraylist hast kannst du zB .toString() oder solche Methoden benutzen. Aber warte mal, ist es überhaupt möglich eine Hashmap über ein String und eine Arraylist zu deklarieren? Es heißt ja: ein Wert -> eine Zuordnung. Edit: Habe hier noch etwas gefunden: http://stackoverflow.com/questions/960807/hashmapkey-string-value-arraylist-returns-an-object-instead-of-arraylist
  15. Ich weiß, kann dir eigentlich jeder sagen und ich mache es mir einfach: HashMap (Java Platform SE 7 ) Eine gute Erklärung Hoffentlich hilft es dir , Edit: http://www.tutorials.de/java-grundlagen/336903-hashmap.html
  16. Falls es nch jemanden interessiert, hier meine Lösung: package xxxxxxxx; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; @SuppressWarnings("rawtypes") public class SQLtoJavaFrame extends JFrame { private static final long serialVersionUID = -4662896414136615882L; static JPanel contentPanel; static JTable tabelle; static int spaltenAnzahl = 0; static int zeilenAnzahl = 0; static ResultSet resultSet; static String befehl; static ArrayList<String> spaltenName; static Connection verbindung; static Statement stmtSelect; static JFrame fenster; static MyTableModel mtm; public SQLtoJavaFrame() { // Fenster wird initialisiert, visible ganz am Ende! fensterInitialisieren(); tabelle = new JTable(mtm); JScrollPane sp = new JScrollPane(tabelle); contentPanel.add(sp); tabelle.setVisible(true); } private void fensterInitialisieren() { contentPanel = (JPanel) getContentPane(); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(500, 400); setTitle("Frame Title"); setLocationRelativeTo(null); } public static void main(String[] args) throws ClassNotFoundException, SQLException { // ausführen-Methode hier, weil sonst die Variablen zur Erstellung der // Tabelle 0 wären! ausführen(); // Fenster wird erzeugt fenster = new SQLtoJavaFrame(); // wird hier noch nicht visible, da noch geädert wird, visible kommt // ganz am Ende! // Spaltennamen werden geändert spaltenNamenAendern(); } private static void spaltenNamenAendern() { // Diese Methode ändert die Namen der Spalten der Tabelle for (int i = 0; i < tabelle.getColumnCount(); i++) { tabelle.getColumnModel().getColumn(i).setHeaderValue(spaltenName.get(i)); } fenster.pack(); fenster.setVisible(true); } @SuppressWarnings("unchecked") private static void ausführen() throws ClassNotFoundException, SQLException { // Wir gehen los auf die DB und holen uns die benötigten Werte Class.forName("oracle.jdbc.driver.OracleDriver"); // ---------------------------------------------------- // Wir holen uns die Anzahl der Zeilen der Tabelle befehl = "SELECT COUNT(*) FROM xxxxxxxx"; // Wir führen den SQL-Befehl aus resultSet = statementAusfuehren(befehl); // Wir speichern die Anzahl der Zeilen weg while (resultSet.next()) { zeilenAnzahl = Integer.parseInt(resultSet.getString(1)); System.out.println("Anzahl der Zeilen in der Tabelle: " + zeilenAnzahl); } // ---------------------------------------------------- // Wir holen uns die Anzahl der Spalten der Tabelle befehl = "SELECT COUNT(*) FROM SYS.ALL_TAB_COLUMNS WHERE OWNER = 'xxxxxxxx' AND TABLE_NAME = 'xxxxxxxx'"; // Wir führen den SQL-Befehl aus resultSet = statementAusfuehren(befehl); // Wir speichern die Anzahl der Spalten weg while (resultSet.next()) { spaltenAnzahl = Integer.parseInt(resultSet.getString(1)); System.out.println("Anzahl der Spalten in der Tabelle: " + spaltenAnzahl); } // ---------------------------------------------------- // Hier das Table-Model initialisieren, weil vorher die beiden Variablen // noch leer waren und dann die Tabelle nicht richtig erstellt wird mtm = new MyTableModel(zeilenAnzahl, spaltenAnzahl); // ---------------------------------------------------- // Wir holen uns nun die Spaltennamen: befehl = "SELECT COLUMN_NAME FROM SYS.ALL_TAB_COLUMNS WHERE OWNER = 'xxxxxxxx' AND TABLE_NAME = 'xxxxxxxx'"; // Befehl ausführen resultSet = statementAusfuehren(befehl); // Die Spaltennamen werden gespeichert spaltenName = new ArrayList<String>(); while (resultSet.next()) { spaltenName.add(resultSet.getString(1)); } System.out.println("Die Spaltennamen lauten: " + spaltenName); // ---------------------------------------------------- // Wir holen uns nun die gesamte Tabelle: befehl = "SELECT * FROM xxxxxxxx"; // Wir führen den SQL-Befehl aus resultSet = statementAusfuehren(befehl); // Wir haben die ganze Tabelle im Resultset // und wenn das Resultset noch nicht zu Ende ist... while (resultSet.next()) { // wird eine Liste angelegt, welche eine Zeile darstellt: List rohDaten = new ArrayList<>(); // und jeder Wert, der sich im Resultset befindet, wird er der Liste // für eine Zeile hinzugefügt: for (int i = 0; i < spaltenAnzahl; i++) { rohDaten.add(resultSet.getObject(spaltenName.get(i))); } // und schließlich der Tabelle hinzugefügt mtm.addRow(rohDaten); } // ---------------------------------------------------- } private static ResultSet statementAusfuehren(String befehl2) throws SQLException { // mit dieser Methode wird EIN Statement ausgeführt verbindung = null; verbindung = DriverManager.getConnection("jdbc:oracle:thin:@xxxxxxxx", "xxxxxxxx", "xxxxxxxx"); stmtSelect = verbindung.createStatement(); ResultSet rs = stmtSelect.executeQuery(befehl2); System.out.println("SELECT successfully executed"); return rs; } } TableModel: package xxxxxxxx; import java.util.ArrayList; import java.util.List; import javax.swing.table.AbstractTableModel; @SuppressWarnings("serial") public class MyTableModel extends AbstractTableModel { int zeilenAnzahl, spaltenAnzahl; private final List<List> data = new ArrayList(); public MyTableModel(int zeilen, int spalten) { zeilenAnzahl = zeilen; spaltenAnzahl = spalten; } @Override public int getColumnCount() { return spaltenAnzahl; } @Override public int getRowCount() { return zeilenAnzahl; } @Override public String getColumnName(int spalte) { return new String("Spalte " + (spalte + 1)); } @Override public Object getValueAt(int zeile, int spalte) { return data.get(zeile).get(spalte); } public void addRow(List rowData) { data.add(rowData); fireTableRowsInserted(data.size() - 1, data.size() - 1); } } Ich finde das immer herzlich dämlich, wenn jemand auch genau das gesucht hat, was ich nun suche und niemand auf seine Frage geantwortet hat. Also falls jemand Bedarf daran hat, bitteschön, habe ja geheime Sachen durch "xxxxxxxx" ersetzt.
  17. morgens zeitnah um 8 einen einfachen, mittags gegen 13 Uhr einen doppelten Espresso
  18. Höhepunkt des vergangenen Jahres: Topf mit noch flüssigem Frittieröl (vom Fondue) draußen zum Abkühlen auf den Boden gestellt. "Hmm lecker Fleisch", dachte sich unser Hund, "das fress ich jetzt und **** dem Herrchen voll auf'n Teppich. Der ist ja grad neu."
  19. Ich setz mal noch ein drauf (Nervigkeits-Skala): seit 7:30h wird im Büro unter uns gebohrt, gehämmert, aufgestemmt und Wände versetzt was das Zeug hält... gleich geh ich runter und helf mit, dann sind sie schneller fertig
  20. Tja, wo fange ich da an... ich muss mich nach etlichen Stunden, Tagen, Wochen doch mal geschlagen geben und hier offiziell um "Hilfe", besser gesagt eine zweite Meinung bitten. Die Tabelle, die ich erstelle, besser gesagt die Klasse, mit der ich die Tabelle erstelle, erbt von AbstractTableModel und wird bereits mit den Standartwerten generiert. Sichtbar ist sie also und irgendwelche zufälligen Werte stehen auch drin (durch die drei get-Methoden natürlich). Ich bin erfolgreich auf der Datenbank unterwegs, hole mir die Werte, die ich brauche (Spaltenanzahl, Zeilenanzahl) und lasse die Tabelle anhand dieser Parameter erstellen (zum Beispiel 9 Spalten und exakt 1244 Zeilen). Damit hat die Tabelle schon einmal das passende Format. Nun gehe ich los, hole mit dem nächsten Befehl das nächste Resultset ab, welches die Spaltennamen sind und speichere diese (auch lesbar) in einer Arraylist<String>ab. Nun gehts weiter, ich hole mir alles von der Tabelle ab und weiß einfach nicht, wie ich nun diese Daten irgendwie dort hinein bekomme. Erstmal in ein Array/Arraylist/List/String[]? Es handelt sich ja hier nicht um drei Spalten, in denen ich Fa, Fu und Fara und passende kunterbunte Kindermalfarben abbilde, sondern jede der 1244 Zeilen soll auch der passenden der 9 Spalten zugeordnet werden. Mir geht es eigentlich nur darum: wie kann ich das Resultset so abspeichern, dass ich es über eine simple "werteHinzufuegen()"-Methode später in meine JTable hinein bekomme? Sorry aber ich sehe da den Wald vor lauter Bäumen nicht. Hier mal der Code (<hierstehengeheimeSachendrin>): package <Packagename>; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; @SuppressWarnings("serial") public class SQLtoJavaTable extends AbstractTableModel { static ArrayList<String> spaltenName; static ArrayList<String> results; static Connection verbindung; static int zeilenAnzahl = 0; static int spaltenAnzahl = 0; static ResultSet resultSet; static Statement stmtSelect; static String[] reihe; static String[] spaltenNameStringArray; static String befehl; @Override public int getRowCount() { // Zeilenanzahl eintragen // sollte sich der Zeilenanzahl der gelesenen Tabelle angleichen return zeilenAnzahl; } @Override public int getColumnCount() { // Spaltenanzahl eintragen // sollte sich der Spaltenanzahl der gelesenen Tabelle angleichen return spaltenAnzahl; } @Override public Object getValueAt(int row, int col) { if (col == 0) { return "" + row; } else if (col == 1) { return "" + row * row; } else { return "" + row * col; } } public static void main(String[] args) throws ClassNotFoundException, SQLException { ausführen(); erstelleFenster(); } private static void ausführen() throws ClassNotFoundException, SQLException { // Wir laden den Treiber Class.forName("oracle.jdbc.driver.OracleDriver"); // ---------------------------------------------------- // Wir holen uns die Anzahl der Zeilen der Tabelle befehl = "SELECT COUNT(*) FROM <Tabelle>"; // Wir führen den SQL-Befehl aus resultSet = statementAusfuehren(befehl); // Wir speichern die Anzahl der Zeilen weg while (resultSet.next()) { zeilenAnzahl = Integer.parseInt(resultSet.getString(1)); System.out.println("Anzahl der Zeilen in der Tabelle: " + zeilenAnzahl); } // ---------------------------------------------------- // Wir holen uns die Anzahl der Spalten der Tabelle befehl = "SELECT COUNT(*) FROM <Tabelle> WHERE OWNER = <Owner> AND TABLE_NAME = '<Tabelle>'"; // Wir führen den SQL-Befehl aus resultSet = statementAusfuehren(befehl); // Wir speichern die Anzahl der Spalten weg while (resultSet.next()) { spaltenAnzahl = Integer.parseInt(resultSet.getString(1)); System.out.println("Anzahl der Spalten in der Tabelle: " + spaltenAnzahl); } // ---------------------------------------------------- // Wir holen uns nun die Spaltennamen befehl = "SELECT COLUMN_NAME FROM <Tabelle> WHERE OWNER = <Owner> AND TABLE_NAME = '<Tabelle>'"; // Befehl ausführen resultSet = statementAusfuehren(befehl); // Die Spaltennamen werden gespeichert spaltenName = new ArrayList<>(); while (resultSet.next()) { spaltenName.add(resultSet.getString(1)); } System.out.println("Die Spaltennamen lauten:\n" + spaltenName); // ---------------------------------------------------- // Wir holen uns nun die gesamte Tabelle befehl = "SELECT * FROM <Tabelle>"; // Wir führen den SQL-Befehl aus resultSet = statementAusfuehren(befehl); // Wir speichern die Ergebnisse weg (2D-Array? Jeder Wert in seiner // Zeile zur passenden Spalte!) results = new ArrayList<>(); while (resultSet.next()) { reihe = new String[spaltenAnzahl]; for (int i = 1; i <= spaltenAnzahl; i++) { reihe[i - 1] = resultSet.getString(i); } } resultSet.close(); stmtSelect.close(); verbindung.close(); } private static ResultSet statementAusfuehren(String befehl2) throws SQLException { // mit dieser Methode wird EIN Statement ausgeführt verbindung = null; verbindung = DriverManager.getConnection("jdbc:oracle:thin:@<Datenbank>", "<Owner>", "<Passwort>"); stmtSelect = verbindung.createStatement(); ResultSet rs = stmtSelect.executeQuery(befehl2); System.out.println("SELECT successfully executed"); return rs; } private static void erstelleFenster() { // erstellt das Fenster JFrame f = new JFrame(); f.getContentPane().add(new JScrollPane(new JTable(new SQLtoJavaTable()))); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setLocationRelativeTo(null); f.pack(); f.setVisible(true); } } Vielleicht machst sich ja jemand die Mühe und liest sich das alles durch. Und ja, API und Google sind vertraut. Trotzdem bin ich mittlerweile so unglaublich verwirrt, dass ich wahrscheinlich den Fehler nicht mehr sehe oder das, was ich nicht implementiert habe, mir einfach nicht einfällt. Lg

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...