Hier kommt ein kleines Beispiel.
Hoffe, es kann deine Fragen beantworten...
Dim TestString
sub SetString (ByVal TestString)
'ByVal ist std... gleich wie einfach (TestString)
TestString = "ByVal Str"
response.write ("ByVal in Funktion:")
response.write (TestString)
response.write ("<br>")
end sub
sub SetStringRef (ByRef TestString)
TestString = "ByRef Str"
response.write ("ByRef in Funktion:")
response.write (TestString)
response.write ("<br>")
end sub
TestString = ""
response.write ("Start: ")
response.write (TestString)
response.write ("<br>")
SetString (TestString)
response.write ("Nach ByVal Funktion:")
response.write (TestString)
response.write ("<br>")
SetStringRef (TestString)
response.write ("Nach ByRef Funktion:")
response.write (TestString)
response.write ("<br>")
Erwartetes Ergebnis:
Start:
ByVal in Funktion: ByVal Str
Nach ByVal Funktion:
ByRef in Funktion: ByRef Str
Nach ByRef Funktion: ByRef Str
> -----Original Message-----
> From: Mathias Becker [mailto:[EMAIL PROTECTED]]
> Sent: Dienstag, 14. Mai 2002 11:33
> To: ASP Datenbankprogrammierung
> Subject: [aspdedatabase] AW: RE: Werum funktioniert mein DB.close
> nicht?? (alt : RE: AW: Access DB mit Asp generieren?)
>
>
> Hallo!
>
> Danke so geht's [mit einigen kl. �nderungen ;))]
> Aber nu begreif ich dieses ByRef nicht so ganz. Ist ja sch�n wens nu
> geht, aber wenn ich nicht weiss, was ich da tue, macht mich das
> irgendwie nerv�s ;)
>
> Also ich habs folgendermassen verstanden:
> Das Byref erm�glicht der Function das ver�ndern der in einer anderen
> Routine (script od. Funktion) erstellten Variablen [so hab
> ich die Doku
> verstanden ;)]. Soweit, so klar. Aber dann versteh ich nicht,
> warum ich
> beim dbopen schon das Byref einsetzen muss?? Diese Funktion erstellt
> doch erst die Variable / das Object. Wieso muss ich da das
> Object schon
> per ByRef �bergeben, obwohl es noch gar nicht existiert?
>
>
> Mit freundlichen Gr�ssen
>
> Mathias Becker
> [EMAIL PROTECTED]
>
> > -----Urspr�ngliche Nachricht-----
> > Von: Azubi IFK LabTec [mailto:[EMAIL PROTECTED]]
> > Gesendet: Dienstag, 14. Mai 2002 08:30
> > An: ASP Datenbankprogrammierung
> > Betreff: [aspdedatabase] RE: Werum funktioniert mein DB.close
> > nicht?? (alt : RE: AW: Access DB mit Asp generieren?)
> >
> >
> > Hast n Mix zwischen Globalen und Lokalen Variablen...
> >
> > So funktioniert's.
> >
> > MfG
> >
> > Christian
> >
> > New Code:
> >
> > Function openDB(ByRef DBPath, ByRef DB)
> > DBPath = getDBPath(DBPath)
> > Set DB = Server.CreateObject("ADODB.Connection")
> > DB.open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine
> > Type=5;Data Source=" & DBPath End Function
> >
> > Function openDB(ByRef DBPath, ByRef DB)
> > DBPath = getDBPath(DBPath)
> > Set DB = Server.CreateObject("ADODB.Connection")
> > DB.open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine
> > Type=5;Data Source=" & DBPath End Function
> >
> > Function closeDB(ByRef DB)
> > DB.close
> > set DB = nothing
> > End Function
> >
> > der include in der global.asa:
> > <SCRIPT LANGUAGE="VBScript" RUNAT="Server"
> > SRC="library/dbmaintaining.asa"></SCRIPT>
> >
> > Dann der Aufruf:
> > Dim DB
> > Dim DBPath
> > DBPath = "db\test.mdb"
> > 'on Session start
> > createDB(DBPath, DB)
> > openDB(DBPath, DB)
> > closeDB(DB, DB)
> >
> > > -----Original Message-----
> > > From: Mathias Becker [mailto:[EMAIL PROTECTED]]
> > > Sent: Dienstag, 14. Mai 2002 08:26
> > > To: ASP Datenbankprogrammierung
> > > Subject: [aspdedatabase] Werum funktioniert mein DB.close
> > > nicht?? (alt:
> > > RE: AW: Access DB mit Asp generieren?)
> > >
> > >
> > > Hallo!
> > >
> > > Irgendwie funktioniert das beides nicht.
> > >
> > > Also folgendes wird gemacht:
> > >
> > > Die Funktionen:
> > >
> > > Function openDB(DBPath)
> > > DBPath = getDBPath(DBPath)
> > > Set DB = Server.CreateObject("ADODB.Connection")
> > > DB.open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine
> > > Type=5;Data
> > > Source=" & DBPath
> > > End Function
> > >
> > > Function openDB(DBPath)
> > > DBPath = getDBPath(DBPath)
> > > Set DB = Server.CreateObject("ADODB.Connection")
> > > DB.open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine
> > > Type=5;Data
> > > Source=" & DBPath
> > > End Function
> > >
> > > Function closeDB(DB)
> > > DB.close
> > > set DB = nothing
> > > End Function
> > >
> > > der include in der global.asa:
> > > <SCRIPT LANGUAGE="VBScript" RUNAT="Server"
> > > SRC="library/dbmaintaining.asa"></SCRIPT>
> > >
> > > Dann der Aufruf:
> > > Dim DB
> > > Dim DBPath
> > > DBPath = "db\test.mdb"
> > > 'on Session start
> > > createDB(DBPath)
> > > openDB(DBPath)
> > > closeDB(DB)
> > >
> > > Und der Fehler ;)
> > >
> > > Microsoft VBScript runtime error '800a01a8'
> > >
> > > Object required: 'DB'
> > >
> > > //library/dbmaintaining.asa, line 28
> > >
> > > Line 28 ist der DB.close Befehl in der Function closeDB
> > >
> > >
> > > Mit freundlichen Gr�ssen
> > >
> > > Mathias Becker
> > > [EMAIL PROTECTED]
> > >
> > > > -----Urspr�ngliche Nachricht-----
> > > > Von: Claudius Ceteras [mailto:[EMAIL PROTECTED]]
> > > > Gesendet: Montag, 13. Mai 2002 21:56
> > > > An: ASP Datenbankprogrammierung
> > > > Betreff: [aspdedatabase] RE: AW: Access DB mit Asp generieren?
> > > >
> > > >
> > > > Oder besser: immer die DB mit als Argument an die Funktion
> > > > �bergeben...
> > > >
> > > > Claudius
> > > >
> > > > >
> > > > > Hallo,
> > > > >
> > > > > > Dbopen funktioniert soweit => DB wird ge�ffnet das Object
> > > > > heist DB. Nun
> > > > > > mein Problem:
> > > > > > Das Object DB ist in keiner anderen Funktion bekannt
> > > > > (Object required:
> > > > > > 'DB' ). Da ich im Mom. ziemlich aufm Schlauch stehe hilft
> > > > > mir vielleicht
> > > > > > mal jemand meinen Gehirnknoten zu zerschlagen? ;) (Bitte
> > > > > nicht w�rtlich
> > > > > > nehmen ;)) )
> > > > >
> > > > > Global definieren?
> > > > >
> > > > > Au�erhalb der DBOpen-Prozedur:
> > > > >
> > > > > <%
> > > > > Dim DB
> > > > > %>
> > > > >
> > > > > MfG,
> > > > > Markus Oestreicher [QualityHosting Support]
> > > > > -------------------------------------------
> > > > > jetzt mit ASP.NET Unterst�tzung
> > > > > Informationen: http://www.qualityhosting.de
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> > > > > | http://www.aspgerman.com/archiv/aspdedatabase/ =
> > > Listenarchiv Sie
> > > > > | k�nnen sich unter folgender URL an- und abmelden:
> > > > > |
> > > > http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedataba
> > > se.asp
> > > >
> > >
> > >
> > > | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> > > | http://www.aspgerman.com/archiv/aspdedatabase/ =
> Listenarchiv Sie
> > > | k�nnen sich unter folgender URL an- und abmelden:
> > > |
> > http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedataba
> se.asp
> >
> >
> > | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> > | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv Sie
> > | k�nnen sich unter folgender URL an- und abmelden:
> > |
http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
>
| [aspdedatabase] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv Sie
| k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
| [aspdedatabase] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp