Anregungen und Vorschläge zu PROFAN
Hier können Vorschläge für künftige PROFAN-Versionen, Ausgestaltung der PROFAN-Seiten und -Foren, etc. gemacht werden.

| Suchen
| Zurück zur Übersicht

Autor | Thema: 3. Betaversion PROFAN 7.6!
Roland G. Hülsmann
| Datum:18.09.02 19:35 (rgh-soft@t-online.de) |
Neu: Nutzung mehrerer SQL-Verbindungen ====================================== Diese Funktionalität wird wahrscheinlich noch geändert, daher betrachtet sie nur als unverbindlichen Prototypen! Ein erfolgeiches SQLInit liefert nun nicht mehr 1 zurück, sondern das Handle der Datenbankverbindung. Auf diese Weise kann man mehrere SQLInit machen und sich die Handles merken:
    DB1& = SQLINIT("<Datenabank1>")
    DB2& = SQLINIT("<Datenabank2>")
VOR dem entsprechenden SQLExec oder SQLDone kann nun festgelegt werden, welche Datenbank genutzt werden soll:
    SET("SQLDBC",DB1&)
    SQLEXEC "<Befehl1>",1
    SET("SQLDBC",DB2&)
    SQLEXEC "<Befehl2>",1
Es gibt nun auch eine Systemvariable &SQLDBC, die das Handle der gerade aktuellen Datenbankverbindung enthält. Hier die bekannte Download-Adresse: http://www.profan2.de/download/xprofan.zip Da ich momentan nur einen SQL-Treiber auf meinem System habe, kann ich das Ganze nicht so recht testen. Ich bitte daher diejenigen, die diese Funktion benötigen um umfangreiche Tests und Mitteilung der Ergebnisse! Danke! Roland
Roland G. Hülsmann
| Datum:19.09.02 16:37 (rgh-soft@t-online.de) |
Heute habe ich es endlich testen können: Es gibt noch einen Fehler: SQLInit liefert noch nicht das Datenbank-Handle zurück sondern wie bisher Erfolg oder Fehler. Nutzt man aber die Systemvariable &SQLDBC dann funktioniert es problemlos. Hier mein Testprogramm:
    cls
    declare hdb1&, hdb2&

    ' 1. Datenbank öffen und lesen

    if @SQLinit("DSN=ZIM") > 0
       hdb1& = &SQLDBC
       print "OK"
       sqlexec "select name, dgeburt from personen where dgeburt > {d'1969-09-12'}",1
       listbox$("ZIM",2)
    else
       print &SQLDBC
       print "FEHLER!"
    endif

    ' 2. Datenbank öffen und lesen

    clearlist
    if @SQLinit("DSN=dBase") > 0
       hdb2& = &SQLDBC
       print "OK"
       sqlexec "select * from adress",1
       listbox$("dBase",2)
    else
       print "FEHLER!"
    endif

    ' 1. Datenbank erneut lesen

    clearlist
    set("SQLDBC",hdb1&)
    sqlexec "select name, dgeburt from personen where dgeburt > {d'1969-09-12'}",1
    listbox$("ZIM",2)

    ' 2. Datenbank erneut lesen

    clearlist
    set("SQLDBC",hdb2&)
    sqlexec "select * from adress",1
    listbox$("dBase",2)

    ' Beide Datenbanken schließen

    set("SQLDBC",hdb1&)
    sqldone

    set("SQLDBC",hdb2&)
    sqldone

    waitinput
BTW: Hier sieht man eine Möglichkeit, wie in ODBC mit Datumsfeldern umgegangen werden kann! Weiterhin viel Spaß beim Testen! Gruß Roland
H.-J. Kramm
| Datum: 20.09.02 21:01 (HJKramm@Web.de) |
hallo, na, das ist es doch, was mir gefehlt hat .... (auch mit bug) daten über artikelnummer vom entfernten server über oracle-odbc abrufen, dann daten über gleiche nummer vom lokalen netz aus einer access-db ... klappt wunderbar. der aufbau zu oracle dauert so seine 10 sekunden .... odbc jeweils neu aufbauen ..... da geht die akzeptanz in den keller. aber jetzt flutscht es... und weil es hier um beta geht: hab es mit oracle, access, d-base durchgepielt .... keine probleme ...

| Zurück zur Übersicht

| Ein kostenloses WebMart Forum WebMart Homepage Tools kostenlos |