Tabellenname herausfinden

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Tabellenname herausfinden

Beitrag von keksi1970 »

Hi,

ich möchte gerne in meinem Makro mit zugriff auf die DB herausfinden, ob eine bestimmte Tabelle existiert, falls nicht, will ich sie anlegen.

ich habe zwar hier gesucht, aber dieses thema nicht gefunden.

wie wäre es mit nem tipp ? :)

LG
Andreas
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Tabellenname herausfinden

Beitrag von komma4 »

Du bist im falschen Unterforum.


Und Du kennst Xray, empfiehlst es sogar, ... und dann suchst Du hier im Forum?

Und Du solltest inzwischen auch Andrews BASE-Dokument kennen.
Dort steht es in Kapitel
2.2.5. Creating and deleting tables using SQL

Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Tabellenname herausfinden

Beitrag von keksi1970 »

ich sag mal so :

xray kennt viele antworten, wenn man die frage richtig stellt.
nur kenne ich hierbei die frage nicht nach der evtl existierenden tabelle.

Tabellen erstellen oder löschen ist nicht das Problem.
Nur Wie frage ich nach dem Namen einer Tabelle ?
oder besser :
welches Objekt frage ich, ob der Inhalt ein anderes bestimmtes Objekt enthält ?

LG
Andreas
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Tabellenname herausfinden

Beitrag von komma4 »

Na, ... wie gehe ich in dem Fall vor?


Alles läuft über die ODB, also erst mal eine Verbindung zur (registrierten!) Datenbank, dieses Objekt untersuchen, dann siehste schon...

Code: Alles auswählen

oDBKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDBKontext.getByName( "base_HSQLDB_test" )
' Verbindung zur DB herstellen
If Not oDatenquelle.IsPasswordRequired Then
   oVerbindung = oDatenquelle.getConnection("" , "" )
Else
   oInteractionHandler = createUnoService( "com.sun.star.sdb.InteractionHandler" )
   oVerbindung = oDatenquelle.connectWithCompletion( oInteractionHandler )
End If

xray oVerbindung

Print oVerbindung.Tables.hasByName( "tabAndreas" ) 
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten