• 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

  • 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"

  • 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>;
  • 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

  • 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"

  • 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..

  • 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

    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

  • 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 :(


    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...

  • 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/


    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 :(


    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)"

    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. ***

  • 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...

  • 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. ***

  • 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. ***

  • 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.

  • 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.

    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. ***

  • 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.

    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.

    Was könnte denn für HSQLDB sprechen?


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

  • 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. ;)

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

  • 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?

    ...?

  • ich sehe ich habe eine Breite Welle der Empörung mit meinen Fragen ausgelöst. ;) 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. ***

  • 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!