Datenbank SQL Rückgabewert

  • Moin zusammen,

    bin zur Zeit am basteln und versuche die Zugriffskontrolle über die DB zu lösen.

    Sollte in der Tabelle tbl_user kein Eintrag zu der ID (@UserName) existieren, so soll der Zugriff verweigert und das Programm geschlossen werden.
    Mit @error kann ich es leider nicht lösen :(

    [autoit]

    $conn = ObjCreate( "ADODB.Connection" )
    $DSN = "Provider=OraOLEDB.Oracle;Data Source=?;User Id=?;Password=?";
    ;MsgBox(0,"ConnectString",$DSN)
    $conn.Open($DSN)
    $rs = ObjCreate( "ADODB.RecordSet" )
    $rs.Open( "select * from tbl_user where id = "&@UserName, $conn )
    ;~ MsgBox(0, "AutoIT-SQL Result", "Value = " & $rs.Fields( "name" ).Value )
    $name = $rs.Fields( "name" ).Value
    If @error Then
    MsgBox(0, "Error", "Der Zugriff wurde verweigert")
    Exit
    EndIf
    $vorname = $rs.Fields( "vorname" ).Value
    $conn.close

    [/autoit]

    Einmal editiert, zuletzt von iczcrash (24. September 2012 um 17:25)

  • Das Problem ist, dass er bei dem folgenden Schritt bereits eine Error - Meldung zurückgibt und das Skript beendet

    [autoit]


    $name = $rs.Fields( "name" ).Value

    [/autoit]


    $name = $rs.Fields( "name" ).Value
    $name = $rs.Fields( "name" ).Value^ ERROR
    ->15:35:48 AutoIT3.exe ended.rc:1
    >Exit code: 1 Time: 4.279