Matthias Francke: ASP + DLL braucht man das?

Ich habe wahrscheinlich ein grundsätzliches Verständnisproblem.

Ich möchte eine Webseite basteln in der User in ein Formular etwas eingeben, das dann in eine Access 2000 gespeichert wird. Ändern und Löschen soll auch möglich sein. Eigentlich nichts Schwieriges.

Ich habe angefangen eine ASP Seite zu schreiben. Im Code der Seite stehen im ersten Teil drei Private Sub Abschnitte die ich (so habe ich mir das zumindest gedacht) über 3 Button am Ende des Formulars aufrufe (onClick=<%call einfügen(test,test2)%>. Das gleiche dann für Löschen und Ändern.

Funktionieren tut es bei mir aber so nicht, da die Sub immer schon beim Aufruf der asp Seite durchlaufen werden und dann z.B. mekern, daß ein bestimmtes Feld (Index-Feld) in der Datenbank nicht leer sein darf.

Hab dann eine Website gefunden in der so etwas über DLLs gelöst wird. Diese ruft man auf wenn man den Datensatz zurückschreiben will.

Meine Frage nun wäre, ob es wirklich nur über DLLs geht oder ob es sich nicht auch innerhalb einer ASP mit einem Funktionaufruf lösen liese.

Ich danke im Voraus für jede Hilfe

Gruß

Matthias Francke

  1. Ich habe wahrscheinlich ein grundsätzliches Verständnisproblem.

    Ich möchte eine Webseite basteln in der User in ein Formular etwas eingeben, das dann in eine Access 2000 gespeichert wird. Ändern und Löschen soll auch möglich sein. Eigentlich nichts Schwieriges.

    Ich habe angefangen eine ASP Seite zu schreiben. Im Code der Seite stehen im ersten Teil drei Private Sub Abschnitte die ich (so habe ich mir das zumindest gedacht) über 3 Button am Ende des Formulars aufrufe (onClick=<%call einfügen(test,test2)%>. Das gleiche dann für Löschen und Ändern.

    Funktionieren tut es bei mir aber so nicht, da die Sub immer schon beim Aufruf der asp Seite durchlaufen werden und dann z.B. mekern, daß ein bestimmtes Feld (Index-Feld) in der Datenbank nicht leer sein darf.

    Hab dann eine Website gefunden in der so etwas über DLLs gelöst wird. Diese ruft man auf wenn man den Datensatz zurückschreiben will.

    Meine Frage nun wäre, ob es wirklich nur über DLLs geht oder ob es sich nicht auch innerhalb einer ASP mit einem Funktionaufruf lösen liese.

    Ich danke im Voraus für jede Hilfe

    Gruß

    Matthias Francke

    Hoi, bin meiner ASP-Seite fast fertig und sie kann genau das, was du vor hast.. user können sich da registrieren, einloggen etz..
    habe es mit access xp und dem iis 5.1 von windows xp gemacht.

    grundlegend zu der formularüberprüfung:

    das formular wird geladen:

    seite.asp:

    if Session("Register") <> "true" Then
        Session("Register") = "true"
        QUELLTEXT DEINER SEITE
    Else
        ÜBERPRÜFEN DER FORMULARE
    End If

    Hier wird die seite erst geladen, der benutzer füllt die Felder aus und du schreibst in das Formular:

    action="seite.asp" method="post"

    beim 2. mal wird die seite dann geladen aber da die Session "Register"
    ja jetzt true ist, wird der ELSE zweig durchlaufen.

    Nun kannst du alle deine Felder mit Request.Form("Formname") an eine Variable übergeben und überprüfen.

    Ich weiss, das war vielleicht jetzt etwas kurz beschrieben, aber wenn du fragen hast, schreib mir ne mail oder icq 67771620 =)

    ASP RULEZ =)

  2. Moin!

    Ich habe wahrscheinlich ein grundsätzliches Verständnisproblem.

    Gut erkannt. ;)

    Überleg mal selbst: Browserabfragen sind (so wie in diesem Forum hier) ein ständiges Wechselspiel zwischen Browseranfrage beim Server und Serverantwort mit den Daten, die der Browser bei seiner Anfrage geliefert hat.

    Du kannst auf dem Server immer nur auf das reagieren, was der Browser bzw. dessen User will. Und du kannst immer nur mit einer kompletten HTML-Seite reagieren.

    Wenn du also ein Wechselspiel machen willst zwischen Browser und ASP/Datenbankabfrage, dann heißt das:

    Erste Seite: Ein leeres Formular. Nix eingetragen.

    Das Formular wird dann abgeschickt. Jetzt kann ASP wieder eingreifen, die Formulardaten auswerten, irgendwo hinspeichern, oder mit den Daten die Datenbank abfragen, Mau-Mau spielen (nein, natürlich nicht) ... egal was, das Resultat ist wieder eine HTML-Seite. Im Zweifel steht auf der Seite nur "Alles OK!", aber meist doch etwas mehr, z.B. das Ergebnis der Datenbankabfrage. Und wahrscheinlich (so wie du es andeutest) auch noch der eine oder andere Link, der eine Funktion auslösen soll (z.B. mit den dargestellten Daten).

    Wenn du eine Aktion auslösen willst, bedeutet das, du mußt wieder ein komplettes ASP-Skript aufrufen, ihm die Information übergeben, was du tun willst (geht auch als URL-Parameter, das wäre dann identisch mit der Formular-Methode "GET"), und das ASP-Skript macht dann das gewünschte und sagt wieder "Alles OK!" - oder mehr.

    Merke: Du führst ASP-Code auf dem Server aus, bevor die Seite an den Browser gelangt. Wenn die Seite beim Browser ist, muß ASP schon lange komplett fertig gewesen sein. Der Browser führt kein ASP aus (sonst hießen sie ABP - Active BROWSER Page). Er kriegt nichtmal einen einzigel Fitzel ASP-Code zu sehen (der Server gibt nur HTML aus).

    Ich hoffe, deine geistige Blockade gelöst zu haben.

    PS: Von ASP hab ich konkret aber leider garkeine Ahnung, also frag dann lieber jemanden, der sich damit auskennt. :)

    - Sven Rautenberg