Announcement

Collapse
No announcement yet.

Abs. Anfänger: IB-DB auslesen und editieren?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Abs. Anfänger: IB-DB auslesen und editieren?

    Hallo,

    bevor Ihr mich hier gleich in der Luft zerreisst oder mich mir Buchvorschlägen bombardiert ..... )

    Also folgendes:
    Ich habe noch nie etwas mit Delphi zu tun gehabt. Lediglich Turbopascal 6.0 (
    Jetzt habe ich mich jedoch an den Rechner gesetzt und möchte folgende Lösung realisieren.
    Ich habe eine bestehende IB-Datenbank, aus der ich ein Feld (Kunde/Freifeld) auslesen und editieren muss.
    Habs schon auf die Reihe bekommen mir ein entsprechendes Fenster zu bauen. Das war es auch schon (

    Kann mir vielleicht Jemand weiterhelfen? Das wäre lieb )
    Oder kennt jemand ein Tutorial für absolute Anfänger?

    Gruß Tina ;o)

  • #2
    Ok, kann mir wenigstens Jemand exakt verraten welche IB-Komponenten ich einsetzen muss?
    Evtl. komm ich dann drauf (

    Gruß Tina

    Comment


    • #3
      Hallo Tina,

      IBDatabase, IBTransaction, IBDataset, DataSource und dann noch eine passende visuelle Komponente (z.B. DBGrid). Nach erfolgter Datenänderung muß die Transaction committed werden.

      Gruß

      Torste

      Comment


      • #4
        Daaanke )
        Ich bin auf jeden Fall schon ein wenig weiter.
        Jetzt bekomm ich die Daten angezegt.
        Ich habe DBEdit's verwendet, weil ich dachte die Daten editieren zu können. Nur leider geht das nicht. Auch nicht wenn ich deren "Readonly" auf true oder false stelle.
        Mach ich noch irgendwas verkehrt?

        Wenn ich das Problem gelöst bekommen habe, wie kann ich dann die Änderungen speichern?

        Vielen vielen Dank schon mal im Voraus,
        Eure Tina

        Comment


        • #5
          Hallo Tina,

          hast Du das DBEdit mit dem Datasource verbuden?

          Wenn das erledigt ist öffne am besten mal das IBDataset (active = true). Jetzt kannst Du dem DBEdit das entsprechende Datenbankfeld zuordnen.

          Fürs Speichern kannst Du einen eigenen Button verwenden der einfach IBDataSet1.Post aufruft. Du könntest aber auch die DBnavigator-Komponente verwenden.

          Damit die Daten am Ende auch in der DB landen muß die Transaction Committed werden.

          Tschüß

          Torste

          Comment


          • #6
            <I>hast Du das DBEdit mit dem Datasource verbuden?

            Wenn das erledigt ist öffne am besten mal das IBDataset (active = true). Jetzt kannst Du dem DBEdit das entsprechende Datenbankfeld zuordnen.
            </I>

            Ja, danke. So weit war ich ja schon.
            Nur kann ich in der DBEdit keine Änderungen vornehmen.

            Und bitte nicht die Haare ausreissen ...
            <I>
            Damit die Daten am Ende auch in der DB landen muß die Transaction Committed werden.
            </I>
            Wie macht man das?

            Liebe Grüße Tina

            Comment


            • #7
              Hallo Tina,

              was mir so spontan noch einfällt, was eine Aktualisierung verhindert, ist, wenn im Select mehr als eine Tabelle verwendet wird.

              Wenn das nicht der Fall ist, steht für die Query die Eigenschaft 'RequestLive' auf 'true'? (Wenn nicht bekommst Du immer nur eine nur lesbare Menge, man gibt durch diese Eigenschaft explizit an, daß man die Daten modifiziren möchte.)

              Grüße

              Joche

              Comment


              • #8
                Hallo Tina,

                das mit "Request Live" wollte ich auch gerade sagen. Die Transaction beendest Du mit IBTransaction1.Commit (Bestätigung der Transaction, sodass die erfolgten Änderungen die im Rahmen dieser Transaction vorgenommen wurden in der datenbank gespeichert werden) oder IBTransaction1.Rollback (Verwerfen der Transaction, sodass alle Änderungen dieser Transaction rückgängig gemacht werden).

                Gruß

                Torste

                Comment


                • #9
                  Request Live finde ich nirgends

                  Comment


                  • #10
                    Hallo Tina,

                    "Request Live" sollte bei IBDataSet zu finden sein. Momentan habe ich keine IBX-Komponenten zur Verfügung, sodass ich erst heute Abend nachschauen kann und aus dem Kopf weiß ich es nicht, weil ich schon seit Jahren mit IBObjects arbeite.

                    Gruß

                    Torste

                    Comment


                    • #11
                      Inzwischen hab ich es geschafft, daß man editieren kann. Nur speichern tut er es noch nicht

                      Gruß Tina :O

                      Comment


                      • #12
                        Hallo Tina,

                        hast Du das ModifySQL der IBDatabase-Komponente definiert?

                        Nach erfolgter Änderung machst Du ein IBDataset.post und am Ende ein Commit der Transaction.

                        Tschüß

                        Torste

                        Comment


                        • #13
                          @Torsten: ModifySQL der IBDatabase? Nicht einer TSQLUpdate-Komponente (TUpdateSQL??, oder so ähnlich, hab' hier kein BCB)?

                          Grüße

                          Joche

                          Comment


                          • #14
                            Hallo Jochen,

                            mit ModifySQL funktioniert es auch (habe ich doch vorher getestet). Aber wie bereits gesagt meine praktischen Erfahrungen mit IBX liegen nun schon viele Jahre zurück.

                            Tschau

                            Torste

                            Comment


                            • #15
                              Hallo Torsten, hallo Jochen,

                              nochmals vielen vielen Dank für Eure Bemühungen, doch irgendwie bin ich wohl doch zu doof?

                              In der IBDatabase-Komponente konnte ich keine Eigenschaft ModifySQL finden. Habe also die IBUpdate SQL eingebunden. Dort gibt es die Eigenschaft ModifySQL.
                              Doch wenn ich darauf klicke, geht ein Fenster auf in dem nichts steht. Ich als absoluter Newbie weiss auch nicht was ich dort eintragen könnte (

                              Dann schreibt Torsten:
                              > Nach erfolgter Änderung machst Du ein IBDataset.post und am Ende ein Commit der Transaction.

                              Wie? Was?
                              Nicht böse sein, aber ich versteh nichs (
                              Wie mach ich ein IBDataset.Post?
                              Und wie ein Commit der Transaction?

                              Wenn Ihr mir über diese Schwierigkeiten noch hinweghelfen könntet, hab ich's geschafft, bin seelig und Ihr habt Eure Ruhe vor den unqualifizierten Fragen einer nervenden Zicke )

                              Gruß Tina

                              Comment

                              Working...
                              X