Hallo, Roland,
Datenbank-Programmierung ist recht weitläufig, bis man sich einigermaßen sicher bewegen kann. Für die Anwendung in RB habe ich viel gelernt aus OrdersDatabaseExample.pdf im Ordner Examples/Databas Example. Und ein ordentliches Buch zu SQL ist sehr hilfreich. Ich habe gelernt aus SQL for dummies. Und die anderen hier haben bestimmt noch bessere Tipps.
beste Grüße, Christian Hahn.

----- Original Message ----- From: "Roland Quadstege" <[email protected]>
To: "REALbasic NUG German" <[email protected]>
Sent: Thursday, August 06, 2009 3:43 PM
Subject: Re: wie SQL-Tabelle leeren (nicht löschen!)??



Am 05.08.2009 um 16:58 schrieb Christian Hahn:

Hallo, Roland,

     db.SQLExecute ("truncate table adressdaten")

Ich würde da sagen:
db.SQLExecute("DELETE FROM adressdaten")
Man kann natürlich auch eine Bedingung einbauen:
db.SQLExecute("DELETE FROM adressdatenWHERE rowID = " + str(ID)
oder irgendeine andere WHERE-Bedingung.

     db.Commit
     db.Close
   end if
 else
   MsgBox "NIL=Die Datenbank konnte nicht geöffnet werden!"
 end if

 db.Commit
 db.Close
Dieses Commit und Close sind zuviel. In die DB kann nichts übertragen werden und sie kann nicht geschlossen werden, wenn sie gar nicht geöffnet ist

Für das Speichern neuer Datensätze in der Tabelle sieht mein Code so  aus:

      rec = New DatabaseRecord

      rec.Column("Datum") = NamensGrid.WritableCell(2, i).Text
      rec.Column("Wt") = NamensGrid.WritableCell(3, i).Text
      rec.Column("og") = DatenGrid.WritableCell(1, i).Text
      rec.Column("VonStd") = DatenGrid.WritableCell(2, i).Text
      rec.Column("BisStd") = DatenGrid.WritableCell(3, i).Text
      rec.Column("Kommentar") = DatenGrid.WritableCell(4, i).Text

      DB_Inst.InsertRecord("KalenderDaten",rec)

      DB_Inst.Commit

beste Grüße, Christian Hahn.

Hallo Christian,

vielen Dank für Deine Tips,

ich habe mal meine commits auf die logischen Fälle reduziert und siehe
da: jetzt sieht's schon ganz anders aus.

Ich muss ja zugeben, dass ich noch nicht viel mit Datenbanken gemacht
habe.
Wenn ich mir den Quellcode verschiedener Beispiele ansehe, trifft mich
schier der Schlag.
Daher fange ich ganz, ganz langsam an.

Vielen Dank noch mal für die schnelle Antwort.

Gruß
Roland








Antwort per Email an