Italia
Include

ListView2ODBC / ODBC2ListView

 

ByteAttack
1.) Diese Include-File per Profan ermöglicht es mit nur zwei Befehlen denn kompletten Inhalt eines ListView´s in un ODBC-Datenbank zu speichern.

2.)Importiert einen SQL-String in ein ListView

Di più Informationen auf:
[...] 
KompilierenMarkierenSeparieren
Declare LVODBC_DSN%,LVODBC_DSN$,LVODBC_TAB$,LVODBC_AnzS%,LVH&,C$
C$=CHR$(34)
Start
Dim$ 64 maximal 64Spalten pro Listview
SQLSETDEL ;
SQLSETNULL
Konvertiert das Datum ins Datenbankformat

Proc LVODBC_DATUM

    Parameters Datum$
    Datum$=#+Translate$(Datum$,.,/)+#
    Return Datum$

EndProc

#####################################################
SetODBCSpalten
Fülle Liste mit Typen der Spalten
S : String - Typ der Spalte
D=Datum Z=Zahl T=Text
Beispiel:
SetODBCSpalten ZTTTDTZ
#####################################################

Proc SetODBCSpalten

    Parameters String$
    Declare Index%,Lang%,w%,Zeichen$
    Lang%=Len(String$)
    LVODBC_AnzS%=Lang%

    WhileNot w%

        if Index%=Lang%

            w%=1

        else

            Zeichen$=Mid$(String$,(Index%+1),1)
            LIST$ Index%=Zeichen$
            Inc Index%

        endif

    Wend

EndProc

Erstellt neue Tabelle

Proc LVODBC_NewTable

    Declare SQLString$,spalt#,name&,name$,Index%,w%,Typ$,L%
    Dim spalt#,255
    SQLString$=CREATE TABLE +LVODBC_TAB$+ (

    WhileNot w%

        if Index%=LVODBC_AnzS%

            w%=1

        else

            name&=GetColumnName(LVH&,spalt#,Index%)
            name$=String$(spalt#,0)
            Typ$=List$(Index%)
            Case Typ$=T:Typ$=TEXT
            Case Typ$=Z:Typ$=REAL
            Case Typ$=D:Typ$=DATE
            SQLString$=SQLString$+name$+ +Typ$+,
            Inc Index%

        endif

    wend

    SQLString$=Left$(SQLString$,Len(SQLString$)-2)+)
    SQLExec SQLString$,1
    Dispose spalt#

EndProc

Dei eigentliche Routine des Exports

Proc LVODBC_Export

    Declare Zeilen%,bereich#,text$,Spalte%,Zeilen&,ZeilenIndex%,z%,s%,SpaltenIndex%,SQLS$,name&,name$,Typ$,SQLStd$,SQL$
    Dim bereich#,256
    Zeilen&=GetLines(LVH&)
    Zeilen%=Zeilen&
    Spalte%=LVODBC_AnzS%
    SQLStd$=INSERT INTO +LVODBC_TAB$+ (

    WhileNot s%

        if SpaltenIndex%>Spalte%

            s%=1

        else

            name&=GetColumnName(LVH&,bereich#,SpaltenIndex%)
            name$=String$(bereich#,0)
            Typ$=List$(SpaltenIndex%)
            SQLStd$=SQLStd$+name$+,
            inc SpaltenIndex%

        endif

    Wend

    SQLStd$=Left$(SQLStd$,Len(SQLStd$)-2)+) VALUES (
    SpaltenIndex%=0
    s%=0

    WhileNot z%

        if ZeilenIndex%=Zeilen%

            z%=1

        else

            WhileNot s%

                if SpaltenIndex%>Spalte%

                    s%=1

                else

                    GetItemText(LVH&,bereich#,SpaltenIndex%,ZeilenIndex%)
                    text$=String$(bereich#,0)
                    Typ$=List$(SpaltenIndex%)

                    if Typ$=T

                        text$=Translate$(text$,,´)
                        SQLS$=SQLS$++text$+,

                    elseif Typ$=Z

                        text$=Translate$(text$,,,.)
                        SQLS$=SQLS$+text$+,

                    elseif Typ$=D

                        LVODBC_DATUM text$
                        SQLS$=SQLS$+$(0)+,

                    endif

                    Inc SpaltenIndex%

                endif

            Wend

            SQLS$=Left$(SQLS$,Len(SQLS$)-2)
            SQL$=SQLStd$+SQLS$+)
            SQLExec SQL$,1
            s%=0
            SpaltenIndex%=0
            SQL$=
            SQLS$=
            Inc ZeilenIndex%

        endif

    Wend

    Dispose bereich#

EndProc

#####################################################
LV2ODBC
Exportiert die Listview
S1 : String  - DSN String (Siehe Profan Hilfe SQLInit)
N1 : Integer - 0=Die Datenbank wurde schon in dem Hauptprogramm geöffnet.
1=Die Datenbank wird mit der Include geöffnet.
S2 : String  - Tabellenname
N2 : Integer - 0=Tabelle nicht vorhanden, eine neue wird erstellt
1=Tabelle ist in der Datenbank schon vorhanden
N3 : Long    - Handle der Listview
#####################################################

Proc LV2ODBC

    Parameters DSN$,DSN%,Table$,tbl%,LVH&

    if DSN%=1

        LVODBC_DSN%=1
        SQLINIT(DSN=+DSN$)

    endif

    LVODBC_DSN$=DSN$
    LVODBC_TAB$=Table$
    Case tbl%=0:LVODBC_NewTable
    UseCursor 2
    LVODBC_Export
    UseCursor 0
    Case LVODBC_DSN%=1:SQLDone

EndProc

#####################################################
LVSQL
Importiert einen SQL-String in ein ListView
S : String - Der SQL-String
N : Long - Handle des Listview
#####################################################

Proc LVSQL

    Parameters SQLString$,LVH&
    Declare Datei$,Zeile$,bytes&,bereich#,w%,String$,Index%
    SQLEXEC SQLString$,2
    Datei$=SQL.DAT
    Assign #1,Datei$
    Reset #1
    Input #1,Zeile$
    Close #1
    Index%=1
    DeleteAllItems(LVH&)

    WhileNot w%

        String$=SubStr$(Zeile$,Index%,;)

        if Len(String$)=0

            w%=1

        else

            InsertColumn LVH&,String$,120,0
            Inc Index%

        endif

    Wend

    InsertColumn LVH&,,0,0
    bytes&=FileSize(Datei$)

    If bytes&>0

        Dim bereich#,bytes&
        ReadFileQuick(addr(Datei$),bereich#,0,bytes&)
        ShowWindow(LVH&,0)
        CsvToListview(LVH&,bereich#,bytes&,Index%)
        Dispose bereich#
        DeleteColumn (LVH&,Index%-1)
        DeleteItem (LVH&,0)
        ShowWindow(LVH&,1)

    Endif

EndProc


2 kB
Hochgeladen:27.04.2005
Downloadcounter237
Download
 
Website:  [...] 
Facebook:  [...] 
27.04.2005  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

4.759 Views

Untitledvor 0 min.
ByteAttack09.07.2020
Klaus Kohlhepp17.03.2020
Michael Borowiak12.12.2019
p.specht18.03.2019
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

ByteAttack (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie