2 Fragen zu OpenDatabaseRequester

Anfängerfragen zum Programmieren mit PureBasic.
dag
Beiträge: 12
Registriert: 16.06.2009 15:01

2 Fragen zu OpenDatabaseRequester

Beitrag von dag »

Hallo erstmal,

Nachdem ich mich im engl und deutschen Forum schon halbtot gesucht hab, wollte ich mal schauen ob mir jemand direkt weiterhelfen kann.

Ich programmiere zur Zeit an einem Universellen Datenbankteil herum, was kurz gesagt mehrere SQL-DBs direkt und über ODBC unterstützt. Dabei können Masken in Realtime angepasst und mit den verschiedenen DBs/Tabellen/Feldern verknüpft werden. SQL muss man nicht mehr tiefschürfend können, das Engine baut sich das alles selber zusammen 8) immo bin ich beim Client bei ca 12.000 Programmzeilen. Wenns fertig ist, werd ichs hier zur freien Verfügung stellen, hab aus den Boards viel Wissen erlesen :D

Aber ich komm immer wieder zu einem eher Anfängerlike Problem zurück, was mich Ratlos macht:

OpendatabaseRequester()

1) Was bedeutet der 2. Parameter [Plugin] ?, in der Hilfe off/online steht nix
und
2) Wie komme ich über Purebasic an den Namen der im Requester ausgewählten Datenbank ?
DatabaseDriverName() nutzt mir in dem Zusammenhang garnix. Gibts da ne möglichkeit ?

Ich hab WinXP Sp3 mit PB 4.31

Vielen Dank !
thomas
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Die Angabe "Plugin" ist dort eher ein Fehler denn was Gültiges weil mit
dem Databaserequester immer nur eine ODBC-Datenbank referenziert
werden kann (s.u.). Wenn Du die Nummer (#PB_Any ..siehe Hilfe)
der Datenbank hast, brauchst Du den Namen für die Datenbankfunktionen
eigentlich nicht mehr.

Um über die Nummer an den Namen zu gelangen müsstest Du
vermutlicherweise interne Strukturen von Pb durchhecheln.

Mach Dir doch nen eigenen Requester indem du ne Liste der
angemeldeten Datenbanken erstellst und Dir dort den Namen merkst.
Eine Liste ist ja schnell erstellt

Code: Alles auswählen

UseODBCDatabase()
If ExamineDatabaseDrivers()
  While NextDatabaseDriver()
    Debug DatabaseDriverName()+" "+DatabaseDriverDescription()
  Wend
EndIf
End
das Ergebnis in ein ListView oder ComboboxGadget macht daraus recht
flott auch n Requester der dann auch den Namen "weiß". Öffnen der
entsprechenden Datenbank(en) dann mit opendatabase()


-------
der Parameter Plugin hat bei opendatabase() eine Wirkung,weil dort auch Sqlite unterstützt wird. Sieht dazu bei opendatabase in der Hilfe nach.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
dag
Beiträge: 12
Registriert: 16.06.2009 15:01

Beitrag von dag »

Hi
Dank dir für die Antwort.
Ich hatte schon befürchtet, das ich den langen Weg gehen muss. Es ist richtig das ich für die Arbeit mit der ausgewählten DB den Namen nicht brauche, aber für die weitere Bearbeitung mit dem User der die ausgewählte DB noch ein-/zuordnen muss. Da wären kryptische Nummern nicht so der Hit.

Das [Plugin] des OpenDatabaseRequester gleich mit dem Plugin bei OpenDatabase sein soll kann ich mir nicht vorstellen, denn beim Requester steht extra dabei:
Dies ist ein spezifischer Befehl für ODBC Datenbanken.
thomas
PureBasic09
Beiträge: 33
Registriert: 16.06.2009 13:21
Wohnort: Sachsen

Beitrag von PureBasic09 »

doch doch, die Plugins von OpenDatabase() sindgleich denen, von OpenDatabaseRequester().

das selbe poblem hatte ich auch mal, aber durch versuchen un basteln klappt dat :mrgreen:
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Ich glaube kaum, dass man mit dem Opendatabaserequester direkt
SQLite-DBs auswählen kann, wie auch, da dort ja nur ODBC-DBs ausgewählt werden können.
Ich hab zwar nicht alles ausprobiert, aber
meistens erscheint der Requester erst gar nicht, wenn ich das Ding
mit einem optionalen Parameter aufrufe.
i.Ü widerspricht das ja auch der Aussage der Hilfe, dass der Requester für ODBC-Dbs sein soll.

Entweder bewirkt der was anderes momentan unkomentiertes oder
es ist eine Art Bug.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
dag
Beiträge: 12
Registriert: 16.06.2009 15:01

Beitrag von dag »

Ich danke euch.
Um die ganze Thematik zu umgehen hab ich mir, wie vorgeschlagen, jetzt einen eigenen Requester mit ListIconGadget() gebastelt.

bis bald
thomas
Antworten