Probier mal ein db.commit nach dem db.SQLExecute.
Ich hab zwar schon länger nix mit Datenbanken in REALbasic gemacht, aber früher hats das glaub ich immer gebraucht.

Ansonsten schau doch auch mal ob im db.errorcode was steht.

Flo

Am 09.08.2009 um 16:11 schrieb Roland Quadstege:

die Fragen hören nicht auf - hier wieder eine: Ich möchte in eine bereits bestehende Datenbank eine neue Tabelle einfügen. Dazu habe ich mal versucht, über ein getopenfolder eine passende Datenbank auszuwählen. Falls ich nichts auswähle, passiert hier irgendwas (eine Datenbank "adressen_2.rsd" wird angelegt). Aber falls ich was wähle, so versuche ich eine neue Tabelle in diese Datenbank einzufügen. Aber wenn ich diese Datenbank nachher mal ins Projekt ziehe, steht nichts neues drin. Nur die Tabelle(n), die vorher auch schon drin war(en). Woran liegt das? Habe ich da was nicht richtig gelesen - oder nur wieder Tomaten auf den Augen.

dim db as REALSQLDatabase
 db=new REALSQLDatabase
 dim f as FolderItem
 f=GetOpenFolderItem("")
 if f=nil then
   f= new FolderItem("adressen_2.rsd")
   db.DatabaseFile=f
   MsgBox str(db.CreateDatabaseFile)
if db.CreateDatabaseFile then 'wenn die Datenbank angelegt werden könnte
     if db.Error=false then
db.SQLExecute ("create table daten (da_firma varchar, da_anrede varchar, da_id Integer primary key)")
       MsgBox "die Datenbank wurde erzeugt ("+db.errormessage +")."
     else
       MsgBox "hat nicht geklappt ("+db.ErrorMessage+")"
     end if
   end if
 Else 'die Datenbank ist vorhanden
   db.DatabaseFile=f
   if db.error=false then
db.SQLExecute ("create table daten (da_firma varchar, da_anrede varchar, da_id Integer primary key)") MsgBox "in der Datenbank "+f.name+ "wurde eine neue Tabelle erzeugt ("+db.errormessage +")."
   else
     MsgBox "hat nicht geklappt ("+db.ErrorMessage+")"
   end if
 end if

jemand eine Idee???

Gruß
Roland


Antwort per Email an