English
Includes

ListView2ODBC / ODBC2ListView

 

ByteAttack
1.) These Include-File for Profan allows it with only two command because kompletten Content one ListView´s in a ODBC-data base To Save.

2.)import a SQL-String one ListView

More Information on:
[...] 
CompileMarkSeparation
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:04/27/05
Downloadcounter237
Download
 
Website:  [...] 
Facebook:  [...] 
04/27/05  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

4.757 Views

Untitledvor 0 min.
ByteAttack07/09/20
Klaus Kohlhepp03/17/20
Michael Borowiak12/12/19
p.specht03/18/19
More...

Themeninformationen

this Topic has 1 subscriber:

ByteAttack (1x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie