realbasic-nug.de
[Top] [All Lists]

Bildaktualisierung klappt nicht

To: REALbasic-NUG German <realbasic-nug dot de at lists dot realsoftware dot com>
Subject: Bildaktualisierung klappt nicht
From: Christian Abele <c_abele at reichert-druck dot de>
Date: Wed, 26 Jan 2005 10:32:06 +0100
Delivered-to: realbasic-nug dot de at lists dot realsoftware dot com
Ich habe ein Problem mit dem Aktualisieren von Bildfeldern. Ich habe 8 verschiedene JPEG-Felder (long varbinary) in einer Old-RealBasic-Datenbank. Ich möchte einen Datensatz dazu benutzen, bis zu 8 Bilder zu speichern.

Das Problem: Wenn ich das erste Bild hinzufüge, wird der Datensatz korrekt angelegt. Auch eine Aktualisierung klappt mit einem neuen Bild auf das bereits gefüllte problemlos. Das alte Bild wird mit dem neuen korrekt überschrieben.

Nur wenn ich eine zweites Bild in das Bild-DB-Feld 2 eintragen möchte, reagiert er überhaupt nicht. An was kann das liegen ? Es wird einfach nicht gespeichert, ob wohl er den Aktualisierungs-Code korrekt durchläuft.

MacOS X 10.3.7/G5/RB 5.5.3 dt

Wer weiß Abhilfe ?


Hier mein Code:

  dim db as Database
  dim f1, f2 as folderitem
  dim meinBild, meinAusschnitt as picture
  dim rs, rs2, rs3 as databasecursor
  dim rec as databaserecord
  dim meinZaehler as integer

  //Do
  If Obj.TextAvailable then
    //beep
    //msgbox Obj.text
    f1= getFolderItem(obj.text)
    if (f1.exists) then
      meinBild = f1.openAsPicture
      meinAusschnitt = NIL
      meinAusschnitt = NewPicture(me.width,me.height,32)
      meinAusschnitt.graphics.DrawPicture meinBild, 0, 0

      f2 = GetFolderItem("Album")
      if not f2.exists then
        beep
        msgBox "Die Datenbank konnte nicht gefunden werden."
      else
        //db = New RealDatabase
        //db.databaseFile=f2
        //if (db.Connect()) then
        db = openREALDatabaseOldFormat(f2)
        //db = new REALDatabase
        //db.DatabaseFile=f
        //db.databaseName = "album"
        //db.host = "RealDB"
        if (db = NIL) then
          //beep
//msgbox "Die Datenbank für MenuSeitenzahl konnte nicht geöffnet werden"
        else
          //rs = db.FieldSchema("album")
          meinZaehler = 0
rs = db.SQLSelect("select * from album where albumname='" + albumname.text + "' AND seite='" + tempfeld_seite.text + "' AND muster='" + tempfeld_muster.text + "'")
          if (rs <> NIL) then
            while not rs.eof
              //if (rs.field("bild1image").value <> NIL ) then
              meinZaehler = meinZaehler + 1
              //end if
              rs.MoveNext
            wend
            rs.close
          end if



// falls meinZaehler = 0 ist, dann ist noch kein Datensatz angelegt
          // --> neuen Datensatz anlegen

          if (meinZaehler = 0) then
            // neuen Datensatz anlegen
            rec = New DatabaseRecord
            rec.JPEGColumn("bild1original") = meinBild
            rec.JPEGColumn("bild1image") = meinAusschnitt
            rec.Column("seite") = tempfeld_seite.text
            rec.Column("muster") = PopupMenuMuster.text
            rec.Column("albumname") = albumname.text
            rec.Column("abmasse") = Formatabmass.text
            rec.Column("bilder_pro_seite") = PopupMenuSeitenzahl.text

            db.InsertRecord ("album", rec)
            //db.commit
          else
            // bestehenden Datensatz aktualisieren
rs2 = db.SQLSelect("select * from album where albumname='" + albumname.text + "' AND seite='" + tempfeld_seite.text + "' AND muster='" + tempfeld_muster.text + "'")
            rs2.Edit
            rs2.field("bild1image").JPEGValue = meinAusschnitt
            rs2.field("bild1original").JPEGValue = meinBild
            rs2.update
            db.Commit


            //beep
          end if
          db.close
        end if
      end if
      DropText1.visible = false
      me.image = meinAusschnitt
    end if
  End if
  //Loop until Not obj.NextItem


Mit freundlichen Grüßen,

Christian Abele
Entwicklung
Datenbanken & Elektronische Medien

-------------------------------------------------------
Reichert GmbH, Druck + Kommunikation
Rechbergstrasse 10
70806 Kornwestheim

Tel.            07154 - 13 12 16
Fax.            07154 - 13 12 77
e-mail  c_abele at reichert-druck dot de

<Prev in Thread] Current Thread [Next in Thread>
  • Bildaktualisierung klappt nicht, Christian Abele <=