Glengamoi · AspHeute (Artikel) · .NET Heute (RSS-Suche) · .NET Blogs · Glengamoi Suche (Installieren via Klick)

Glengamoi

Die Diskussionsforen der deutschen .NET Community
Willkommen bei Glengamoi. Anmeldung | Registrieren | Hilfe
in Suchen

Formular speichert Inhalt nicht in Acess Datenbank

Letzter Beitrag 11-19-2008 11:08 von HannesBayreuth. 3 Antworten.
Seite 1 von 1 (4 Treffer)
Beiträge sortieren: Zurück Weiter
  • 11-18-2008 15:05

    Formular speichert Inhalt nicht in Acess Datenbank

     Hallo zusammen,

    ich habe ein Problem und wollte fragen, ob mir jemand dabei helfen könnte.  Zunächst mal, ich arbeite mit FrontPage 2002 und einer Access-Datenbank (.mdb).

    Habe ein Formular erstellt, das mir Einträge in eine Access-Datenbank speichern soll (mit asp). Die Felder sind jeweils über Frontpage den entsprechenden in der DB zugeordnet, und ich habe auch eine Seite angegeben, die als Bestätigungsseite aufgerufen werden soll.
    Zum Testen habe ich den IIS von Vista installiert, und der funktioniert soweit prima, (also Abfragen von der Datenbank werden korrekt und super angezeigt).
    Wenn ich nun die Felder in meinem Formular ausfülle und es abschicke, öffnete sich zuerst auch brav die Bestätigungsseite, allerdings ohne dass die Felder an die DB übergeben wurden. Nachdem ich ein bisschen was am Formular geändert habe, wird jetzt jedes Mal, wenn ich auf den Submit-Button klicke, einfach das Formular neu geöffnet, ohne dass sich irgendetwas tut.

    Habe dann auch mal versucht, ein Formular über den Datenbankschnittstellen-Assistenten von Frontpage zu erstellen. Dieses speichert er dann im Ordner "[Name der Datenbankverbindung]_interface", bringt aber auch nichts, die Felder werden nicht übergeben..

    Woran kann das liegen??


    Kopiere Euch mal ein bisschen vom Quelltext, vielleicht hilft das:

    <%
    ' FP_ASP ASP, die von einer FrontPage-Komponente automatisch generiert wurde. Nicht Editieren.

    On Error Resume Next
    Session("FP_OldCodePage") = Session.CodePage
    Session("FP_OldLCID") = Session.LCID
    Session.CodePage = 1252
    Err.Clear

    strErrorUrl = ""

    If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    If Request.Form("VTI-GROUP") = "0" Then
        Err.Clear

        Set fp_conn =  Server.CreateObject("ADODB.Connection")
        FP_DumpError strErrorUrl, "Kann Verbindung nicht herstellen"

        Set fp_rs = Server.CreateObject("ADODB.Recordset")
        FP_DumpError strErrorUrl, "Kann Datensatzgruppe nicht erstellen"

        fp_conn.Open Application("MeineDatenbankverbindung_ConnectionString")
        FP_DumpError strErrorUrl, "Kann Datenbank nicht öffnen"

        fp_rs.Open "Tabelle1", fp_conn, 1, 3, 2 ' adOpenKeySet, adLockOptimistic, adCmdTable
        FP_DumpError strErrorUrl, "Kann Datensatzgruppe nicht öffnen"

        fp_rs.AddNew
        FP_DumpError strErrorUrl, "Kann keine neue Datensatzgruppe zu Datenbank hinzufügen"
        Dim arFormFields0(32)
        Dim arFormDBFields0(32)
        Dim arFormValues0(32)

        arFormFields0(0) = "Frage"
        arFormDBFields0(0) = "Frage"
        arFormValues0(0) = Request("Frage")

        /*... und so geht das mit allen Formularfeldern, wäre aber etwas arg lang geworden dann.*/

        FP_SaveFormFields fp_rs, arFormFields0, arFormDBFields0

        If Request.ServerVariables("REMOTE_USER") <> "" Then
            FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_USER"), "Benutzername1"
        End If
        If Request.ServerVariables("REMOTE_HOST") <> "" Then
            FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_HOST"), "Name_des_Remotecomputers"
        End If
        If Request.ServerVariables("HTTP_USER_AGENT") <> "" Then
            FP_SaveFieldToDB fp_rs, Request.ServerVariables("HTTP_USER_AGENT"), "Browsertyp"
        End If
        FP_SaveFieldToDB fp_rs, Now, "Zeitmarkierung"

        fp_rs.Update
        FP_DumpError strErrorUrl, "Kann Datenbank nicht aktualisieren"

        fp_rs.Close
        fp_conn.Close

        Session("FP_SavedFields")=arFormFields0
        Session("FP_SavedValues")=arFormValues0
        Session.CodePage = Session("FP_OldCodePage")
        Session.LCID = Session("FP_OldLCID")
        Response.Redirect "MeineBestätigungsseite.asp"

    End If
    End If

    Session.CodePage = Session("FP_OldCodePage")
    Session.LCID = Session("FP_OldLCID")

    %>


    /*So fängt das Formular an:*/

    <form method="POST" action="--WEBBOT-SELF--" onSubmit="return FrontPage_Form1_Validator(this)" language="JavaScript" name="FrontPage_Form1" enctype="multipart/form-data">
             
    <!--webbot bot="SaveDatabase" s-destination="images/" s-category s-assignedto s-reviewstatus b-process-metainfo="FALSE" suggestedext="asp" u-asp-include-url="_fpclass/fpdbform.inc" s-dataconnection="MeineDatenbankverbindung" s-recordsource="Tabelle1" u-database-url="MeineDatenbank.mdb" u-confirmation-url="MeineBestätigungsseite.asp" s-builtin-fields="REMOTE_USER REMOTE_HOST HTTP_USER_AGENT Timestamp" s-builtin-dbfields="Benutzername1 Name_des_Remotecomputers Browsertyp Zeitmarkierung" s-form-fields="Aufzählung der Formularfelder" s-form-dbfields="Und die entsprechenden Datenbankfelder" startspan --><input TYPE="hidden" NAME="VTI-GROUP" VALUE="0" /* btw Was ist das eigentlich?? */><!--#include file="_fpclass/fpdbform.inc"--><!--webbot bot="SaveDatabase" endspan i-checksum="40548" -->

    Hoffe, ich konnte es einigermaßen verständlich ausdrücken...

    VIelen Dank schon jetzt für Eure Hilfe!

    Abgelegt unter:
    • IP-Adresse ist Registriert
  • 11-19-2008 1:27 Antwort zu

    AW: Formular speichert Inhalt nicht in Acess Datenbank

    Hi

    Um es kurz zu machen: der Versuch den Code des FP Datenbank-Assistenten zu debuggen ist ziemlich aussichtslos. Der Code muss alle möglichen Eventualitäten abdecken und in der Konsequenz ist er entsprechend kompliziert. Mein Vorschlag wäre - wenn du Classic ASP lernen möchtest - dann schau dir mal an, was wir auf http://www.aspgerman.com/wiki alles zusammengetragen haben. Und wenn es dann immer noch klemmt hier nachfragen.

    Ein paar Anspieltipps:

    Daneben kommt beim Schreiben der Komplex Security/Sicherheit dazu, der auch wieder einiges an Erklärung erfordert. Zwar schon X-Mal beschrieben worden, aber spontan kann ich nix dazu finden.

    Gruß
    Hubert

    • IP-Adresse ist Registriert
  • 11-19-2008 9:17 Antwort zu

    AW: Formular speichert Inhalt nicht in Acess Datenbank

    Am Anfang steht On Error Resume Next ...
    Das führt dazu, dass alle auftretenden Fehler ignoriert werden.
    Entferne das erst mal, dass Du die Fehler angezeigt bekommst.

     

    • IP-Adresse ist Registriert
  • 11-19-2008 11:08 Antwort zu

    AW: Formular speichert Inhalt nicht in Acess Datenbank

     Danke euch beiden für die Antwort!

    - Ich werde mal versuchen, nebenher diese Tutorials zu machen, aber das was ich bis jetzt da gelesen habe, waren wirklich basics. Ich kenn mich schon ein bisschen mit den Befehlen aus (ok, nicht mit asp-Befehlen), aber das ist schon sehr viel Aufwand, und ich bin leider etwas faul. Schade, dass FP das nicht richtig hinbekommt...

    - Ich habs rausgenommen, aber es wird dennoch einfach das Formular neu geladen und die Eingaben aus den Feldern gelöscht.

    Falls noch jemand Ideen hat, sehr gerne. Ansonsten muss ich mich wohl mit den Basics auseinandersetzen.

    Vielen Dank nochmal!

    Gruß, Hannes

    • IP-Adresse ist Registriert
Seite 1 von 1 (4 Treffer)