1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

java/sql

    • Frage
  • mary21
  • 27. März 2008 um 16:18
  • Unerledigt
  • mary21
    4
    mary21
    Mitglied
    Punkte
    105
    Beiträge
    17
    • 27. März 2008 um 16:18
    • #1

    hey..

    ich beschäftige mich jetzt seit ein paar tagen mit der integration einer datenbank...

    am anfang hat alles sehr gut funktioniert habe meine Create Table gemacht und mittels Insert into values meine datensätze eingefügt... habe danach setter und getter methoden erstellt und probiert diese mittels insert into values einzufügen - hat auch noch funktioniert...
    jetzt wollte ich meine create table von ursprünglich drei string werten (vorname, nachname, strasse) auf andere attribute wie int plz, int telefon usw. erweitern...

    hab einfach das ganze überall erweitert - jedoch schreibt er mir jetzt immer die fehlermeldung: Column not found: 4
    d.h. ja er findet quasi die 4 spalte nicht (hatte ja ursprünglich nur 3 spalten) jetzt zu meiner frage - kann ich nicht einfach im create table die neuen attribute (plz int, telefon int) hinzufügen, genauso wie bei den gettern und settern und beim JTable?! scheinbar erkennt er nur die ursprünglichen drei werte/spalten..

    kann mir vl. jemand helfen?!
    danke im voraus

  • Erklärbär
    8
    Erklärbär
    Mitglied
    Reaktionen
    6
    Punkte
    661
    Beiträge
    130
    • 27. März 2008 um 16:23
    • #2

    das kommt darauf an, welche datenbank du verwendest. in oracle gibts zb. das statement "ALTER TABLE"

    Code
    ALTER TABLE tabelle ADD (neue_spalte TYP);


    sollte auch für andere RDBMS funktionieren.

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • Paulchen
    1
    Paulchen
    Gast
    • 27. März 2008 um 16:26
    • #3
    Zitat von mary21

    kann ich nicht einfach im create table die neuen attribute (plz int, telefon int) hinzufügen, genauso wie bei den gettern und settern und beim JTable?!

    Du musst die Attribute natürlich auch in die Datenbank einfügen. Entweder, du löschst die bestehende Tabelle und legst mit CREATE TABLE eine neue Tabelle an, oder du verwendet ALTER TABLE, um die bestehende Tabelle zu verändern, ohne sie zu löschen:

    Code
    alter table <tabelle> add column <name> <typ> <sonstige optionen>;
  • mary21
    4
    mary21
    Mitglied
    Punkte
    105
    Beiträge
    17
    • 27. März 2008 um 17:28
    • #4

    super danke - hat funktioniert...

    jetzt hab ich noch ne blöde frage... kann ich irgendwo meine Table sehen - ich mein ich hab jetzt mit Alter Table meine spalten eingefügt und es funktioniert auch... aber kann i irgendwie meine ganze table inkl datensätze sehen?! oder geht dass eh nur mittels sql abfrage select*from tablename

    dankenochmal für die schnelle antwort

  • Erklärbär
    8
    Erklärbär
    Mitglied
    Reaktionen
    6
    Punkte
    661
    Beiträge
    130
    • 27. März 2008 um 18:31
    • #5
    Zitat von mary21

    super danke - hat funktioniert...

    jetzt hab ich noch ne blöde frage... kann ich irgendwo meine Table sehen - ich mein ich hab jetzt mit Alter Table meine spalten eingefügt und es funktioniert auch... aber kann i irgendwie meine ganze table inkl datensätze sehen?! oder geht dass eh nur mittels sql abfrage select*from tablename

    dankenochmal für die schnelle antwort


    du kannst mit

    SQL
    SELECT * FROM tablename

    die datensätze oder mit

    Code
    DESC tablename;

    die struktur betrachten.

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • mary21
    4
    mary21
    Mitglied
    Punkte
    105
    Beiträge
    17
    • 29. März 2008 um 10:41
    • #6

    voerst mal danke - hat mir wirklich sehr geholfen..

    hätt nun noch zwei kleine Fragen...

    hab mich jetzt mit dem sortieren meiner daten beschäftigt funktioniert sehr gut - jedoch sortiert er zuerst nach groß und dann nach kleinbuchstaben - kann ich das irgendwie ignorieren..
    hab schon im netz gesucht - und was mit UPPER gefunden im statement - doch irgendwie wills net ganz hinhauen..

    und dann hab ich bei meinem create table - zweimal den falschen datentypen (float statt double) angegeben - wie kann ich denn das ändern...??!!

    wär wirklich nett, wenn mir wer helfen könnte..

  • Paulchen
    1
    Paulchen
    Gast
    • 29. März 2008 um 10:57
    • #7
    Zitat von mary21

    hab mich jetzt mit dem sortieren meiner daten beschäftigt funktioniert sehr gut - jedoch sortiert er zuerst nach groß und dann nach kleinbuchstaben - kann ich das irgendwie ignorieren..

    Was verwendest du denn? MySQL? Da arbeitet ORDER BY normalerweise case insensitive -> http://dev.mysql.com/doc/refman/5.0/en/sorting-rows.html

    Zitat von mary21

    und dann hab ich bei meinem create table - zweimal den falschen datentypen (float statt double) angegeben - wie kann ich denn das ändern...??!!

    Zumindest in MySQL:

    Code
    alter table <tabelle> change column <alter spaltenname> <neuer spaltenname> <datentyp> <weitere optionen>

    -> http://dev.mysql.com/doc/refman/5.0/en/alter-table.html

  • mary21
    4
    mary21
    Mitglied
    Punkte
    105
    Beiträge
    17
    • 29. März 2008 um 15:09
    • #8
    Zitat von Paulchen

    Was verwendest du denn?

    Verwende hsqldb
    habs mit ORDER BY probiert alla:

    "SELECT * FROM Verkäufer ORDER BY Vorname"

    aber leider wird trotzdem zuerst nach Großbuchstaben, danach nach Kleinbuchstaben sortiert :frowning_face:


    danke, dass mit der Table Datentyp Veränderung von float auf double hab ich jetzt hinbekommen...


    mhh hab jetzt jedoch schon wieder ein großes verständnisproblem.. hab jetzt zwei Tabellen:

    Verkäufer
    Produkt

    als Primarykey hab ich VerkäuferID und ProduktID vergeben und als Fremdschlüssel bei Produkt die VerkäuferID (also welcher Verkäufer welches Produkt verkauft hat)

    hab bei create Table die Verkäufer und Produkt IDs automatisch erstellen und erhöhen lassen. wenn ich jetzt die beiden Tabellen mittels join abfrage verbinde, muss ich dem produkt ja vorher nen verkäufer zuweisen (also fremdschlüssel).. als eingabe mittels JTextField, ist das ja nicht sinnvoll...

    steh da grad irgendwie auf der Leitung, weil wenn ich meine applikation öffne das erste mal, ist sie ja leer, dann leg ich mal nen verkäufer an, leg ein produkt an... und wie komm ich dann zum fremdschlüssel bzw. weise den zu?! mhh...

    danke für eure hilfe...

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 29. März 2008 um 15:28
    • #9
    Zitat von mary21

    Verwende hsqldb


    nix für ungut, aber ... tust Du Dir das freiwillig an? Wieso nicht MySQL oder Oracle? Da wäre der Support und die Docu auch um Häuser besser als auf der Webseite http://hsqldb.org/

    Zitat von mary21


    habs mit ORDER BY probiert alla:

    "SELECT * FROM Verkäufer ORDER BY Vorname"
    (im Übrigen hoffe ich, dass in dem Tabellennamen nicht wirklich ein "ä" vorkommt ...)

    aber leider wird trotzdem zuerst nach Großbuchstaben, danach nach Kleinbuchstaben sortiert :frowning_face:


    Zu dem Problem kann ich nur Folgendes sagen: Bei Oracle z.B. wird das auch immer so sein. Da musst Du folgendes machen:

    "SELECT * FROM verkäufer ORDER BY lower(vorname)"

    Zitat von mary21

    steh da grad irgendwie auf der Leitung, weil wenn ich meine applikation öffne das erste mal, ist sie ja leer, dann leg ich mal nen verkäufer an, leg ein produkt an... und wie komm ich dann zum fremdschlüssel bzw. weise den zu?! mhh...


    erm ... ich würde ein Pulldown/Select Field empfehlen, das als value die ID hat und als label den Namen des Verkäufers ... ?

    *** Make it idiot proof, and someone will build a better idiot. ***

  • mary21
    4
    mary21
    Mitglied
    Punkte
    105
    Beiträge
    17
    • 29. März 2008 um 16:29
    • #10
    Zitat von maciek

    nix für ungut, aber ... tust Du Dir das freiwillig an?

    naja beschäftige mich das erste mal mit datenbanken und mach nächstes semester SE und da hab ich gesehen verwenden die HSQLDB --> deswegen...
    http://hsqldb.org/ ja .. hab leider auch schon gemerkt, dass ma die doku komplett vergessen kann...

    mhh naja trotzdem danke...

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 29. März 2008 um 21:31
    • #11
    Zitat von mary21

    naja beschäftige mich das erste mal mit datenbanken und mach nächstes semester SE und da hab ich gesehen verwenden die HSQLDB --> deswegen...


    ahso ... dann müsste ich eigentlich meine Frage umformulieren: Wozu machen die denn das?! :hewa:

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Trux
    12
    Trux
    Mitglied
    Reaktionen
    26
    Punkte
    1.396
    Beiträge
    274
    • 29. März 2008 um 22:17
    • #12
    Zitat von maciek

    ahso ... dann müsste ich eigentlich meine Frage umformulieren: Wozu machen die denn das?! :hewa:


    was spricht dagegen für eine kleine java applikation hsqldb zu verwenden?

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 29. März 2008 um 22:58
    • #13
    Zitat von Trux

    was spricht dagegen für eine kleine java applikation hsqldb zu verwenden?


    hab in letzter Zeit keinen Job in Ö gesucht, aber ... wieviele Stellenanzeigen hast Du gesehen, wo jemand nach einem HSQLDB Spezialisten sucht? Bzw. wenn ich mir die Seite http://www.hsqldb.org anschaue, dann ist die Doku nicht wirklich überragend.

    Was könnte denn für HSQLDB sprechen?

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Wolfibolfi
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    Punkte
    14.936
    Beiträge
    2.942
    • 30. März 2008 um 00:12
    • #14

    Na da bin ich aber froh, dass die TU Wien nicht vor jeder Entscheidung, was zu lehren ist, die Jobanzeigen durchblättert, um zu erfahren, was die österreichischen Softwarefirmen so suchen. Wobei, bei der Java-Monokultur hat man das Gefühl eh schon.
    Wenn die Datenbankverbindung mal läuft, und man seine SQL Statements absetzn kann, ists doch wurscht, was dahinter läuft. Und ein Oracle kriegt man in Datenbanksysteme eh auch mal vorgesetzt.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 30. März 2008 um 00:22
    • #15
    Zitat von Wolfibolfi

    Na da bin ich aber froh, dass die TU Wien nicht vor jeder Entscheidung, was zu lehren ist, die Jobanzeigen durchblättert, um zu erfahren, was die österreichischen Softwarefirmen so suchen. Wobei, bei der Java-Monokultur hat man das Gefühl eh schon.


    Naja ... die Jobs werden nicht nach dem angeboten, was die Studenten können ... und meine Frage, was der/die Vorteil(e) von HSQLDB sein sollen, ist noch immer nicht beantwortet.

    Zitat von Wolfibolfi

    Wenn die Datenbankverbindung mal läuft, und man seine SQL Statements absetzn kann, ists doch wurscht, was dahinter läuft. Und ein Oracle kriegt man in Datenbanksysteme eh auch mal vorgesetzt.


    für 0-8-15 basic SQL knowledge ist es vielleicht wurscht. Darüber bald nicht mehr.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Trux
    12
    Trux
    Mitglied
    Reaktionen
    26
    Punkte
    1.396
    Beiträge
    274
    • 30. März 2008 um 00:31
    • #16
    Zitat von maciek

    hab in letzter Zeit keinen Job in Ö gesucht, aber ... wieviele Stellenanzeigen hast Du gesehen, wo jemand nach einem HSQLDB Spezialisten sucht?


    das ist nicht dein ernst oder?
    die lva heißt schließlich nicht ausbildung zum datenbankspezialisten. meinst du wenn man in se oracle verwenden würde, dass dann die absolventen sofort eine stelle als oracle-spezialist annehmen könnten?

    hier gehts darum für eine kleine applikation eine kleine und einfache datenbank zu benutzen. bei eingangsbsp werden 2! entitäten persistiert. da ist oracle wohl kaum angebracht. und in der gruppenphase wird sowieso hibernate benutzt welches die db abstrahiert.

    Zitat von maciek

    Bzw. wenn ich mir die Seite http://www.hsqldb.org anschaue, dann ist die Doku nicht wirklich überragend.


    sie braucht nicht so ne fette doku wie oracle, weil sie einfach nicht soviel kann. außerdem hab ich in der doku noch immer gefunden was ich gesucht habe. und für plain sql wie ne spalte hinzufügen gibts sowieso 1000 referenzen im web.

    Zitat von maciek

    Was könnte denn für HSQLDB sprechen?


    http://www.hsqldb.org/web/hsqlFeatures.html

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 30. März 2008 um 01:37
    • #17

    ok ... also nochmal ohne Stress: Ich hab SE irgendwann im Jahre Schnee gemacht. Ich hab HSQLDB noch nicht benutzt. Was ich aber noch immer nicht verstehe, ist welche Vorteile HSQLDB gegenüber MySQL, PostgreSQL oder Oracle haben soll. Was HSQLDB kann (link zu features), beantwortet die Frage für mich nicht.

    Und ob es jetzt einfach aufzusetzen ist oder nicht, und wieviele Tabellen dann tatsächlich benutzt werden ... setzen sich die Studenten das System leicht selber auf? Denn bis jetzt wäre das der einzige Aspekt, den ich hier rauslesen kann, der für HSQLDB sprechen würde.

    Und nein, wenn man das SE Zeugnis in Händen hält, ist man kein DB-Spezialist. Sogar wenn man das Studium abschließt, ist man noch immer keiner. :winking_face:

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Paulchen
    1
    Paulchen
    Gast
    • 30. März 2008 um 03:00
    • #18
    Zitat von maciek

    und meine Frage, was der/die Vorteil(e) von HSQLDB sein sollen, ist noch immer nicht beantwortet.

    Was sind der/die Nachteil(e) von HSQLDB?

    Dass es recht einfach ist in der Installation?

    Dass es in Java geschrieben ist?

    Dass es nicht so fett ist wie die 4,9 GB große Installation von Oracle 11 da auf meiner Festplatte?

    Dass es nicht die 97.000 Funktionen von Oracle beherrscht, die man in SEPM wohl kaum braucht?

    ...?

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 30. März 2008 um 03:10
    • #19

    ich sehe ich habe eine Breite Welle der Empörung mit meinen Fragen ausgelöst. :winking_face: Letzte Frage zu dem Thema: Wieviele der Studenten, die SE mit HSQLDB machen, werden es jemals wieder benutzen nachdem Sie das SE-Zeugnis in Händen haben?

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Homer
    10
    Homer
    Mitglied
    Reaktionen
    9
    Punkte
    1.079
    Beiträge
    210
    • 30. März 2008 um 12:05
    • #20

    bin jetzt durch SE zum ersten mal mit hsqldb in berührung gekommen und habe es anfangs auch eher skeptisch gesehen, damit zu arbeiten....
    mittlerweile jedoch, hat sich herausgestellt, dass es eh fast das gleiche ist wie mit oracle zb...
    eindeutiger vorteil ist (wie von paulchen schon erwähnt), dass man sich das installieren spart! einfach ins projekt einbinden und fertig!
    habe schon projekte mit oracle, ms access gehabt und habe mich vor allem bei oracle immer wieder geärgert, weil ich den sch*"§$ nicht vollständig (mit den mitgelieferten tools) deinstallieren konnte....
    ein vorteil für mich ist außerdem noch, falls ich das programm wo anders testen möchte, ich nicht auf dem anderen system die db installieren muss bzw irgendwelche datenquellen einstellen muss.....

    zur frage: hmm....kann ich jetzt natürlich nicht 100% sagen, aber für den privaten gebrauch und falls man sich die db aussuchen darf, warum nicht??

    "ich bin so kluk. K-L-U-K"
    (Homer Jay Simpson)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung