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