Servus,
ich bin gerade dabei mein bisheriges Script auf die UDF MSSQL.au3 von TheLuBu umzubauen.
Der Connect zu den unterschiedlichen DB's geht schon sauber, jedoch bekomme ich bei der Funktion _MSSQL_Query kein Ergebnis zurück.
Bisher sah das bei mir so aus
alte Funktion SQL
#include <MSSQL.au3>
#include <Array.au3>
$rs = ObjCreate("ADODB.RecordSet")
; ein paar andere Zeilen
SQL("*", "BEGLEITSCHEIN", "BEGLEITSCHEIN_ID", $Suchbegriff)
; ein paar andere Zeilen
If $rs.RecordCount Then
Local $Clipboard = ""
While Not $rs.EOF
Local $BGSNR = $rs.Fields("BGSNR").value
Local $BEGLEITSCHEIN_ID = $rs.Fields("BEGLEITSCHEIN_ID").value
Local $BEARBEITUNGSST = $rs.Fields("BEARBEITUNGSST").value
; ein paar andere Zeilen
Local $Reihe = GUICtrlCreateListViewItem($BGSNR & "|" & $BEGLEITSCHEIN_ID, $listview)
$rs.MoveNext
WEnd
EndIf
Func SQL($SelectStar, $FromWhat, $WhereWhat, $Suchbegriff)
$SQLErgebnis = $rs.Open("SELECT " & $SelectStar & " FROM " & $FromWhat & " where " & $WhereWhat & " ='" & $Suchbegriff & "';", $sqlCon)
ConsoleWrite("SELECT " & $SelectStar & " FROM " & $FromWhat & " where " & $WhereWhat & " ='" & $Suchbegriff & "';" & @CRLF)
Return $SQLErgebnis
EndFunc ;==>SQL
hiermit wird die Listview bestückt.
Jetzt will ich das Ganze mit der
Funktion _MSSQL_Query
;===============================================================================
;
; Function Name....: _MSSQL_Query
; Description......: Send a Query to the Database
; Syntax...........: _MSSQL_Query($iSQLCon, $iQuery)
; Parameter(s).....: $iSQLCon = $oConnectionObj = Object, returned by _MSSQL_Con
; $iQuery = MSSQL Query
; Return Value(s)..: Success - Returns the Response from the server
;
;===============================================================================
Func _MSSQL_Query($iSQLCon, $iQuery)
If IsObj($iSQLCon) Then
Return $iSQLCon.execute($iQuery)
EndIf
EndFunc ;==>_MSSQL_Query
behandeln, aber irgenwie komme ich nicht weiter
Local $BGSTest = _MSSQL_Query($sqlCon, "SELECT * FROM BEGLEITSCHEIN where BEGLEITSCHEIN_ID ='123';")
ConsoleWrite("$BGSTest = " & $BGSTest & @CRLF)
_ArrayDisplay($BGSTest, "Mein BGS", Default, 1)
Beim Consolewrite bekomme ich "$BGSTest = " raus, also nix
Der einzige Unterschied, der mir bisher aufgefallen ist, ist das ich in der alten Funktion einen $rs.open Aufruf hatte und in der _MSSQL_Query ein $iSQLCon.execute($iQuery) verwendet wird. Hat das damit eventuell was zu tun, oder behandle ich das Array falsch ?
Gruss und Danke