MSSQL 2008 connect - Best Practice

  • Hi,

    I found a few examples with an old UDF to connect a MSSQL Server. I got one of them working, but I'm not so happy with the solution.

    What is the best solution to connect and query a Microsoft SQL Server ? Is there a current UDF or is there already an integrated solution with autoit ?

    For the moment I only need a connect to do a sql query. That's all.

    Thanks. Wolle

    Einmal editiert, zuletzt von wolle7 (10. März 2011 um 14:08)

  • Why should it be different to sql2k5 sql2k ?

    This is all you need....

    [autoit]

    ;~ Funktionen für MSSQL Nutzung

    [/autoit][autoit][/autoit][autoit]

    #cs
    Name der Funktion: _SQLCon
    Beschreibung: Stellt eine Verbindung zu einem Microsoft SQL Server her.
    Beispiel: $sql = _SQLCon(127.0.0.1, user, pass, MyDB)
    #ce

    [/autoit][autoit][/autoit][autoit]

    Func _SQLCon($scIP, $scUser, $scPass, $scDB)
    $sqlCon = ObjCreate("ADODB.Connection")
    $sqlCon.Open("Provider=SQLOLEDB; Data Source=" & $scIP & "; User ID=" & $scUser & "; Password=" & $scPass & "; database=" & $scDB & ";")
    Return $sqlCon
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    #cs
    Name der Funktion: _SQLQuery
    Beschreibung: Setzt eine Abfrage an eine Datenbank des Microsoft SQL Servers ab.
    Beispiel: _SQLQuery($sql, "INSERT INTO (id, name, age) VALUES (1, admin, 55)")
    #ce

    [/autoit][autoit][/autoit][autoit]

    Func _SQLQuery($iSQLCon, $iQuery)
    If IsObj($iSQLCon) Then
    Return $iSQLCon.execute($iQuery)
    EndIf
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    #cs
    Name der Funktion: _SQLEnd
    Beschreibung: Beendet die Verbindung zum Microsoft SQL Server
    Beispiel: _SQLEnd()
    #ce

    [/autoit][autoit][/autoit][autoit]

    Func _SQLEnd($sqlCon)
    If IsObj($sqlCon) Then
    $sqlCon.close
    EndIf
    EndFunc

    [/autoit][autoit]

    Func Export_Dateiliste()
    $file = "C:\Users\Dietmar\Desktop\Kompo_Import\exp_file_read.ini"
    $_Version_tmp = IniRead($file,"\Programm\Bin\","Programm.exe","")
    $DBCon = _SQLCon("127.0.0.1", "sqluser", "sqlpwd", "DB")
    $var=_SQLQuery($DBCon, "Select Pfad,Komponente,Dateigrösse,Datei_erstellt,Datei_geändert,Versionsnummer,Produktversion from V_620x where _Version like '" & "6.20.7100' order by Pfad")
    With $var
    While Not .EOF

    [/autoit][autoit][/autoit][autoit]

    $Section_Name = StringStripWS(.Fields("Pfad").value,2)
    $Komponent_Name = StringStripWS(.Fields("Komponente").value,2)

    [/autoit][autoit][/autoit][autoit]

    $val1 = StringStripWS(.Fields("Dateigrösse").value,2)
    $val2 = StringStripWS(.Fields("Datei_erstellt").value,2)
    $val3 = StringStripWS(.Fields("Datei_geändert").value,2)
    $val4 = StringStripWS(.Fields("Versionsnummer").value,2)
    $val5 = StringStripWS(.Fields("Produktversion").value,2)
    $valg = '"' & $val1 & "|" & $val2 & "|" & $val3 & "|" & $val4 & "|" & $val5 & '"'

    [/autoit][autoit][/autoit][autoit]

    IniWrite($file,$Section_Name,$Komponent_Name,$valg)

    [/autoit][autoit][/autoit][autoit]

    .MoveNext
    WEnd
    EndWith
    _SQLEnd($DBCon)
    EndFunc

    [/autoit]


    Mfg Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o