Announcement

Collapse
No announcement yet.

ADO und DBGrid Zeile wählen?

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

  • ADO und DBGrid Zeile wählen?

    Hallo!

    Hab jetzt ewig gesucht aber ich finde einfach keine Tutorials zu ADO mit Borlands C++. Was ich bis jetzt geschafft hab ist eine suche in meienr Mysql Datenbank z.B. select Artikelnummer, artikelname from Artikel. Das ganze wird dann in einem DBGrid angezeigt. Nun will ich aber wenn ich mit der Maus in eine Zeile des DBGrids klicke das die Daten die in der Zeile stehen (also die daten von Artikelnummer und Artikelname) in jeweils ein edit Feld kopiert werden, also sozusagen ich markiere Zeile 5 Dann wird die Artikelnummer in edit1.text angezeigt und artikename in edit2.text . Ist das möglich???
    Und wie ist das andersherum möglich? Ich habe ein Editfeld und will die Daten an eine Tabelle anfügen?

    MFG

    Maruu

    PS: Gigts irgendwo gute Howtos zu ADO???

  • #2
    Hi !

    Also - die Hilfe und alle anderen Informationen zu ADO findest Du ganz einfach in der Hilfe vom C++Builder(6). Die Hilfe ist zwar überhaupt garnicht übersichtlich und man muss schon einige Tage mit Lesen verbringen, aber es geht - für später ist es eine akzeptable Referenz.... (ansonsten kannst Du dir die ADO-Dokumentation von Microsoft saugen...)

    Wenn Du dein DB-Grid über ein Dataset verknüpft hast und die Daten sehen kannst, ist es völlig simpel... Wenn Du nämlich auf eine Zeile mit der Maus klickst, wird dieser Datensatz zum aktuellen !! Du kannst dann aus dem Dataset mittels den Fields-Eigenschaften einfach die Werte auslesen (z.B. edit1.text = myDataset->Fields->Fields[0]->AsString; oder int i = myDataset->FieldByName("blahblah")->AsInteger; oder so..).
    Genauso kannst Du Daten verändern. Du muss das Dataset erst in den "Edit"- oder in den "Insert"-Status versetzten mittels myDataset->Edit(); oder myDataset->Insert();. Bei Edit gehtst Du entweder per DBGrid oder per myDataset->RecNo=xyz auf den aktuellen Datensatz und änderst die Werte via myDataset->Fields->Fields[index]->AsString = "blahblah";. Bei Insert wird ein neuer, leerer Datensatz am Ende eingefügt und zum aktuellen Datensatz. Beschreiben tust Du die Felder wie oben. Anschließend kommt immer myDataset->Post() um die Daten in die Datenbank zu schreiben. Fertig !!!!

    Viel Spaß und Gruß,
    Andr&#233

    Comment


    • #3
      Hi!

      Danke für die Antwort, habs auch schon
      hinbekommen.
      Hab jetzt aber noch ein Problem:

      Hast du schonmal mit Bildern in Datenbank gearbeitet? Ich hab mal eine Spalte in meiner Datenbank mit dem Datentyp mediumblob erstellt und das ganze dann unter C++ mit DBImage angesprochen, auch ganz simpel. Gibts da auch was wo man komplette Images (also so mit Pfadangabe zum Bild auf der Festplatte) hochladen kann da ja DBImage nur mit copy past arbeitet? So ne art Begrenzung max 300Kb Bild mit der maximalen größe 400x300 Pixel vom Typ BMP,JPEG und Tiff wirds wohl nicht geben oder?

      MFG

      Maru

      Comment


      • #4
        Hi !

        Ne - leider keine Ahnung, weil ich noch nie Bilder in eine DB gespeichert habe... Aber ich glaube, hier im Forum schon einiges gesehen zu haben... sorry.

        Gruß, Andr&#233

        Comment

        Working...
        X