Hallo,

das sieht schwer kompliziert aus, ich mache es so:

  d=dbfakt.sqlSelect("select * from projekte")
  if d=nil then // Tabelle noch nicht angelegt
dbfakt.sqlExecute("create table projekte(felda varchar, feldb varchar,feldc varchar)")
  end if
dbfakt.commit

und dann noch am besten gleich einen Index erstellen mit
  dbfakt.SQLExecute("Create index projektindex1 on projekte (felda)")
  dbfakt.SQLExecute("Create index projektindex2 on projekte (feldb)")
  dbfakt.SQLExecute("Create index projektindex3 on projekte (feldc)")

Gruß

Stefan


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