Tannenbaum: SQL-Insert funktioniert nicht

ASP(VBSCRIPT),SQL-DB
--------------------
Hi,

könnt ihr mir sagen, was ich hier falsch mache?

SQL = "INSERT INTO Datenbank1 (Spalte1, Spalte2, Spalte3, Spalte4,  Spalte5) VALUES(1,2,3,4,5)"
On Error Resume Next
conn.Execute SQL

Conn wird richtig geöffnet, da es bei Select-Befehlen funktioniert.
Dieser Insert-Befehl funktioniert bei MSAccess.

  1. Hallo

    könnt ihr mir sagen, was ich hier falsch mache?

    SQL = "INSERT INTO Datenbank1 (Spalte1, Spalte2, Spalte3, Spalte4,  Spalte5) VALUES(1,2,3,4,5)"
    On Error Resume Next
    conn.Execute SQL

    Es fehlt die Fehlerüberprüfung.
    Lass Dir doch ausgeben, welcher Fehler aufgetreten ist und mach nicht einfach mit dem nächsten Statement weiter.

    Außerdem solltest Du die exakte Anweisung hier angeben, nicht irgendeine andere.

    Freundliche Grüße

    Vinzenz

    1. Es fehlt die Fehlerüberprüfung.
      Lass Dir doch ausgeben, welcher Fehler aufgetreten ist und mach nicht einfach mit dem nächsten Statement weiter.

      wie lasse ich den Fehler ausgeben?

      1. Moin!

        wie lasse ich den Fehler ausgeben?

        Steht doch sicher in der Hilfe zu "conn.Execute"

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
      2. Hallo

        Lass Dir doch ausgeben, welcher Fehler aufgetreten ist und mach nicht einfach mit dem nächsten Statement weiter.

        Überprüfe das Fehlerobjekt Err, z.B. sind Err.Number und Err.Description manchmal sehr aufschlussreich.

        Freundliche Grüße

        Vinzenz

        1. Überprüfe das Fehlerobjekt Err, z.B. sind Err.Number und Err.Description manchmal sehr aufschlussreich.

          Danke!

          INSERT-Berechtigung wurde verweigert...

  2. Moin!

    Man muss nicht ASP können um folgende Ratschläge zu geben oder Fragen zu stellen:

    • Hat ASP keine Möglichkeit SQL-Fehlermeldungen auszugeben?
    • Gibt es ein Logfile wo die Fehlermeldungen drinstehen?
      Müssen beide Fragen mit "Nein" beantwortet werden, dann verwendest Du untaugliche Software.

    Im Erstfall: Lass Dir den SQL-String ausgeben. Füge den in einem Tool Deiner Software ein, welches SQL-Befehele verarbeiten kann und teste ihn dort - und das ist wichtig - unter dem gleichen Benutzerkennzeichen wie es von ASP aus ausgeführt werden würde (Rechte?). Prüfe eventuell resultierende Fehlermeldungen.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
    1. Hallo fastix,

      • Hat ASP keine Möglichkeit SQL-Fehlermeldungen auszugeben?

      haben die Programmiersprachen, die man für ASP verwenden kann. Aber die VB-Anweisung

      On Error Resume Next

      ist fast so schlimm wie der Fehlerunterdrückungsoperator von PHP. Aber nur fast. Schließlich kann man hinter einer Anweisung, von der man vermutet, dass sie fehlschlagen könnte, das Error-Objekt Err abfragen, was hier sicherlich nicht der Fall war.

      Im Erstfall: Lass Dir den SQL-String ausgeben. Füge den in einem Tool Deiner Software ein, welches SQL-Befehele verarbeiten kann und teste ihn dort - und das ist wichtig - unter dem gleichen Benutzerkennzeichen wie es von ASP aus ausgeführt werden würde (Rechte?). Prüfe eventuell resultierende Fehlermeldungen.

      Ja, fehlerhafte SQL-Anweisungen, z.B. durch nette Anführungszeichen, fehlende Leerzeichen u.ä. können auch bei VB ein Problem darstellen.

      Freundliche Grüße

      Vinzenz

  3. Hallo,

    ich tippe darauf, dass der Account des "Anonymen Internetbenutzers" für
    den IIS keine Schreibrechte auf die .mdb Datei hat. Richte über ACLs
    entsprechende Schreibrechte ein.

    "On Error Resume Next" solltest du nicht wirklich benutzen.

    Ciao, Frank