Supportnet / Forum / Skripte(PHP,ASP,Perl...)
grundlegende Fragen zu VBScript
Frage
Hi Leute,
was ist der Unterschied zwischen der VBScript Schreibweise
1. <%@ language=VBScript %>
und
2. ??
Ich versuche ein ASPScript zu schreiben, welches auf eine Datenbank über ODBC und SQL zuzugreift.
Ok, ich fand ein Sript, welches die Daten ausliest, jetzt möchte ich jedoch 2 Buttons einbauen, über die man in den Datensätzen hin- und herspringen ("Access.MoveNext" ?? ) kann.
Mein Problem ist:
A. Wie kann man eine Funktion in VBScript des 1. Types aufrufen ??
B. Daß ich eine Fkt in VBScript des 2. Types aufrufen kann, ist mir bekannt -onclick="springrum()" - jedoch funktionieren in diesem Scripttyp
die Ausdrücke wie
"set testconn=Server.CreatObject("ADODB.Connection")
testconn.open = ".."..
Set abfrage = testconn.Execute("SELECT Artikel...etc.
bei mir nicht. Was ist falsch und wie mach ich´s richtig ??
C. Wie erreiche ich das Hin- und Herspringen in den Datensätzen über die Buttons genau ??
D. Die Seite muß sich nach dem Herraussuchen der neuen Datensätze wieder aktualisieren. Wie erreiche ich dies ??
Was ist nun zu tun ??
Habt Dank für Eure Bemühen
coba
Antwort 1 von Viagra
Hi.
Das hier wird eine ein bißchen längere Sache, ich denke du hast ein paar grundlegende Sachen von ASP nicht verstanden ;oP.
Erst einmal ganz grundlegend was ASP ist. ASP-Scripts laufen, im Gegensatz zu den Scripts vom 2. Typ, auf dem Server und nicht beim Client ab.
Das heißt: Hast du einen serverseitigen Scriptblock kannst du dem Server sagen, was er machen soll. Z. B. das Auslesen von Datenbankeinträgen oder das dynamische erstellen einer Website.
Ein clientseitiges Script läuft nicht auf dem Server ab sondern beim Client, also in dem Browser der die Website geladen hat. Damit kannst du also Zugriff auf den Computer von dem Surfer nehmen, bestimmte Aktionen bei ihm Ausführen.
<% ´serverseitiger Scriptcode %>
<script language="VBScript"> ´clientseitiger Scriptcode </script>
übrigens kannst du einen serverseitigen Scripcode auch so starten:
<script language="VBScript" runAt="server"> ´serverseitiger Scriptcode </script>
Das, was du gefunden hast um die Datenbank auszulesen ist demnach ein serverseitiger Scriptcode und kann beim Client nicht ausgeführt werden - wie auch? Du bist dann ja nicht einmal mehr auf dem Server...
Du kannst eine serverseitige Funktion nur aus einem serverseitigen Script aufrufen. Befindest du dich in einem clientseitigen Script sind die Serverfunktionen schon nicht mehr erreichbar. Die schreibweise von einem serverseitigen Funktionsaufruf ist die selbe wie in einem clientseitigen.
Das Objekt server ist nur auf dem Server verfügbar, im Client darfst du es nicht verwenden.
Eine Seite die im Browser des Clienten fertiggeladen ist hat keinen Kontakt mehr zum Server, demnach kannst du bei der fertig geladenen Seite nicht mehr mit MoveNext usw. arbeiten.
(An die Profis: Ich weiß das es auch irgend was mit dem dynsrc gibt, hab aber keinen Plan wie das funktioniert, deswegen diese Methode hier.)
Das hin- und herspringen funktioniert indem du die Seite nach jedem Klick auf den Button neu aufrufst. Damit stellst du eine neue Verbindung zum Server her und die Scripts werden erneut ausgeführt. Punkt D ist also lebenswichtig :o).
Damit der Server weiß, welchen der Datensätze er anzeigen soll, übergibst du ihm Parameter. Bestes Beispiel dafür ist die URL dieser Seite hier: es werden drei Parameter übergeben.
Die genaue Erklärung, wie man so ein Script schreibt, würde den Rahmen hier sprengen. Das Thema ist einfach zu umfangreich. An deiner Stelle würde ich mir ein gutes Buch darüber holen, ist eigentlich gar nicht so schwer :o).
Viel Spaß beim Experimentieren
Bis denn dann
Der ich
P.S.: Das hab ich gerade alles geschrieben, also bitte ein bißchen Respekt ;o) *g*
Das hier wird eine ein bißchen längere Sache, ich denke du hast ein paar grundlegende Sachen von ASP nicht verstanden ;oP.
Erst einmal ganz grundlegend was ASP ist. ASP-Scripts laufen, im Gegensatz zu den Scripts vom 2. Typ, auf dem Server und nicht beim Client ab.
Das heißt: Hast du einen serverseitigen Scriptblock kannst du dem Server sagen, was er machen soll. Z. B. das Auslesen von Datenbankeinträgen oder das dynamische erstellen einer Website.
Ein clientseitiges Script läuft nicht auf dem Server ab sondern beim Client, also in dem Browser der die Website geladen hat. Damit kannst du also Zugriff auf den Computer von dem Surfer nehmen, bestimmte Aktionen bei ihm Ausführen.
<% ´serverseitiger Scriptcode %>
<script language="VBScript"> ´clientseitiger Scriptcode </script>
übrigens kannst du einen serverseitigen Scripcode auch so starten:
<script language="VBScript" runAt="server"> ´serverseitiger Scriptcode </script>
Das, was du gefunden hast um die Datenbank auszulesen ist demnach ein serverseitiger Scriptcode und kann beim Client nicht ausgeführt werden - wie auch? Du bist dann ja nicht einmal mehr auf dem Server...
Du kannst eine serverseitige Funktion nur aus einem serverseitigen Script aufrufen. Befindest du dich in einem clientseitigen Script sind die Serverfunktionen schon nicht mehr erreichbar. Die schreibweise von einem serverseitigen Funktionsaufruf ist die selbe wie in einem clientseitigen.
Das Objekt server ist nur auf dem Server verfügbar, im Client darfst du es nicht verwenden.
Eine Seite die im Browser des Clienten fertiggeladen ist hat keinen Kontakt mehr zum Server, demnach kannst du bei der fertig geladenen Seite nicht mehr mit MoveNext usw. arbeiten.
(An die Profis: Ich weiß das es auch irgend was mit dem dynsrc gibt, hab aber keinen Plan wie das funktioniert, deswegen diese Methode hier.)
Das hin- und herspringen funktioniert indem du die Seite nach jedem Klick auf den Button neu aufrufst. Damit stellst du eine neue Verbindung zum Server her und die Scripts werden erneut ausgeführt. Punkt D ist also lebenswichtig :o).
Damit der Server weiß, welchen der Datensätze er anzeigen soll, übergibst du ihm Parameter. Bestes Beispiel dafür ist die URL dieser Seite hier: es werden drei Parameter übergeben.
Die genaue Erklärung, wie man so ein Script schreibt, würde den Rahmen hier sprengen. Das Thema ist einfach zu umfangreich. An deiner Stelle würde ich mir ein gutes Buch darüber holen, ist eigentlich gar nicht so schwer :o).
Viel Spaß beim Experimentieren
Bis denn dann
Der ich
P.S.: Das hab ich gerade alles geschrieben, also bitte ein bißchen Respekt ;o) *g*
Antwort 2 von webwolfi
Hi,
um das was viagra geschrieben hat kurz zusammenzufassen:
ASP-Code sagt dem Server wie er die Seite, die er an den Browser schicken soll zusammnstellen soll. Im prinzip wird eine normale HTML-Seite erzeugt. Sobald er dir diese Seite geschickt hat, vergißt er, daß du je gelebt hat. ES GIBT ALSO KEINE ONLINE-VERBINDUNG.
zum Glück kann man wie erwähnt Daten über die URL schicken.
wenn dein aktueller datensatz z.b. Nr. 312 ist schaut der link für weiter z.b. so aus
anzeige.asp?dsnr=312
welche nummer dort eingesetzt wird, kannst du wiederum im asp-skript bestimmen.
um zu sehen was wir meinen: schau dir einfach mal irgendeien asp-seite im internet (z.b.diese) an und lass dir den seitenquelltext anzeigen. du wirst sehen: reines html, nix asp, denn asp passiert nur am server.
um das was viagra geschrieben hat kurz zusammenzufassen:
ASP-Code sagt dem Server wie er die Seite, die er an den Browser schicken soll zusammnstellen soll. Im prinzip wird eine normale HTML-Seite erzeugt. Sobald er dir diese Seite geschickt hat, vergißt er, daß du je gelebt hat. ES GIBT ALSO KEINE ONLINE-VERBINDUNG.
zum Glück kann man wie erwähnt Daten über die URL schicken.
wenn dein aktueller datensatz z.b. Nr. 312 ist schaut der link für weiter z.b. so aus
anzeige.asp?dsnr=312
welche nummer dort eingesetzt wird, kannst du wiederum im asp-skript bestimmen.
um zu sehen was wir meinen: schau dir einfach mal irgendeien asp-seite im internet (z.b.diese) an und lass dir den seitenquelltext anzeigen. du wirst sehen: reines html, nix asp, denn asp passiert nur am server.

