Français
Comprend

ListView2ODBC / ODBC2ListView

 

ByteAttack
1.) cet Include-Dossier pour Profan permet es avec seulement deux Befehlen car kompletten le contenu eines ListView´s dans un ODBC-banque de données trop Sauver.

2.)Importiert une SQL-String dans un ListView

plus Informationen sur:
[...] 
KompilierenMarqueSéparation
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  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.752 Views

Untitledvor 0 min.
ByteAttack09.07.2020
Klaus Kohlhepp17.03.2020
Michael Borowiak12.12.2019
p.specht18.03.2019
plus...

Themeninformationen

cet Thema hat 1 participant:

ByteAttack (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie