DB-Treibername bei Auswahl über OpenDatabaseRequester()

Anfängerfragen zum Programmieren mit PureBasic.
fabulouspaul
Beiträge: 120
Registriert: 01.04.2011 21:59

DB-Treibername bei Auswahl über OpenDatabaseRequester()

Beitrag von fabulouspaul »

Hallöle,

wenn ich über OpenDatabaseRequester() einen ODBC-Treiber für eine DB-Verbindung auswähle, möchte ich mir gerne den Treibernamen merken (damit man sich das beim nächsten Start schenken kann).
DatabaseDriverName() funktioniert aber nur bei ExamineDatabaseDrivers() & NextDatabaseDriver().

Hat jemand einen Tipp für mich, wie ich bei geöffneter DB-Verbindung (über OpenDatabaseRequester()) an den ODBC-Treibername komme? Dann könnte ich bei allen weiteren Nutzungen die DB direkt über OpenDatabase(#DB, Treiber$, User$, PW$,#PB_Database_ODBC) öffnen.

Viele Grüße,
Paul
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: DB-Treibername bei Auswahl über OpenDatabaseRequester()

Beitrag von bobobo »

dann vergisst du eben mal den Requester und machst Dir selber einen
z.B.

Code: Alles auswählen

;folgender Code verdient sicher keine Preise
UseODBCDatabase()
OpenWindow(0,0,0,500,500,"Datenbanken",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
ListViewGadget(0,0,0,500,500)
ExamineDatabaseDrivers()
While NextDatabaseDriver()
  AddGadgetItem(0,0,DatabaseDriverName())
Wend
Repeat
  event=WaitWindowEvent()
  gadget=EventGadget()
  type=EventType()
  Select event
    Case #PB_Event_Gadget
      Select gadget
        Case 0
          Select type
            Case #PB_EventType_LeftDoubleClick
              dbname.s=GetGadgetItemText(0,GetGadgetState(0))
              MessageRequester("Aha","da merk ich mir mal"+dbname.s)
          EndSelect
      EndSelect
    Case #PB_Event_CloseWindow
      quit+1
  EndSelect
Until quit

CloseWindow(0)

If dbname
  dbuser.s=InputRequester("Db ","User ?? ","")
  dbpass.s=InputRequester("Db ","Passwort her","")
  If OpenDatabase(0,dbname,dbuser,dbpass)
    MessageRequester("hmm","die Datenbank ist so offen wie Dein Mund!")
    CloseDatabase(0)
  Else
    ;was auch immer
  EndIf
EndIf
End
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
fabulouspaul
Beiträge: 120
Registriert: 01.04.2011 21:59

Re: DB-Treibername bei Auswahl über OpenDatabaseRequester()

Beitrag von fabulouspaul »

/:->
Ich hatte so etwas schon befürchtet, wollte es mir nur einfach machen. :)

Trotzdem Danke für die Code-Vorlage!

VG
Paul
Antworten