Autor |
Beitrag |
der Berliner
      
Beiträge: 417
Win Xp Home
delphi 2005
|
Verfasst: So 27.08.06 18:21
Wie der Titel schon sagt wie kann ich
Prüfen ob eine Tabelle in einer mdb schon vorhanden ist?
Gruß
_________________ [b]Ich weiß nicht immer, wovon ich rede. Aber ich weiß, dass ich recht habe.[b]
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 28.08.06 08:42
Wie verbindest Du Dich zu der Datenbank, also welche Komponenten?
Meistens bietet die Datenbank-Komponente eine Prozedur namens GetTableNames, vielleicht gibt's die bei Dir ja auch 
|
|
oldmax
      
Beiträge: 380
D3 Prof, D4 Prof
|
Verfasst: Mo 28.08.06 09:11
Hi
Bei Delphi 4 geht’s über TTable.Exists.
In dem Beitrag Adressbuch mit Datenbank hab ich einen kleinen Einstieg beschrieben, in dem auch diese Function benutzt wird. Sollte diese Function nicht gegeben sein, das ist z.B. bei Delphi 3 der Fall, kannst du ganz einfach ein Open setzen. Und mit Try und Except bekommst du die Fehlermeldung in den Griff..
Hier mal beide Beispiele:
D3:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| Procedure TMYDaten.Generate_Tabelle; Var Tabelle: TTable; Begin Tabelle:=TTable.Create(MyDaten); Tabelle.DatabaseName:='MyConnect'; Tabelle.TableName:='Adressen'; Tabelle.TableType:=ttDefault; Tabelle.Name:='Adressen'; Tabelle.FieldDefs.Clear; Tabelle.IndexDefs.Clear; Tabelle.FieldDefs.Add('Ident',ftInteger,0,True); Tabelle.FieldDefs.Add('Vorname',ftString,50,False); Tabelle.FieldDefs.Add('Name',ftString,50,False); Tabelle.FieldDefs.Add('Strasse',ftString,30,False); Tabelle.FieldDefs.Add('PLZ',ftString,6,False); Tabelle.FieldDefs.Add('Ort',ftString,30,False); Tabelle.FieldDefs.Add('Telefon',ftString,30,False); Tabelle.FieldDefs.Add('EMail',ftString,30,False); Tabelle.IndexDefs.Add('', 'Ident', [ixPrimary, ixUnique]); Try Tabelle.Open; except Tabelle.CreateTable; end; Tabelle.Free; End; |
Oder für D4
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| Procedure TMyDaten.Generate_Tabelle; Var Tabelle : TTable; Begin Tabelle:=TTable.Create(MyDaten); Tabelle.DatabaseName:='MyConnect'; Tabelle.TableName:='Adressen'; Tabelle.TableType:=ttDefault; Tabelle.Name:='Adressen'; Tabelle.FieldDefs.Clear; Tabelle.IndexDefs.Clear; If not Tabelle.exists then begin Tabelle.FieldDefs.Add('Ident',ftInteger,0,True); Tabelle.FieldDefs.Add('Vorname',ftString,50,False); Tabelle.FieldDefs.Add('Name',ftString,50,False); Tabelle.FieldDefs.Add('Strasse',ftString,30,False); Tabelle.FieldDefs.Add('PLZ',ftString,6,False); Tabelle.FieldDefs.Add('Ort',ftString,30,False); Tabelle.FieldDefs.Add('Telefon',ftString,30,False); Tabelle.FieldDefs.Add('EMail',ftString,30,False); Tabelle.IndexDefs.Add('', 'Ident', [ixPrimary, ixUnique]); Tabelle.CreateTable; end; Tabelle.Free; End; |
Ich hoffe, es hilft dir
Gruß oldmax
_________________ Zier dich nich so, ich krieg dich schon....
|
|
der Berliner 
      
Beiträge: 417
Win Xp Home
delphi 2005
|
Verfasst: Mo 28.08.06 16:19
Hi...Danke Euch
werde das mit ADOConnection1.GetTableNames(Listbox1.Items,False); lösen
Gruß
_________________ [b]Ich weiß nicht immer, wovon ich rede. Aber ich weiß, dass ich recht habe.[b]
|
|
|