O Oputres Medlem sedan feb. 2004 333 inlägg Frågan 31 mars 2006 12:04 #1 Allå!
Jag använder FSO för att skapa en mapp och i den mapp skapa en default.asp-fil. När den är klar skall den se ut så här:
<%
Option Explicit
Response.Buffer = True
%>
<!-- #include file="../inst/dbanslutning_medlem2.asp" -->
<%
Dim User, RS, strKontonamn, strAnvId, blnAktiverat
'############## ANGE KONTONAMN NEDAN ##############
strKontonamn = "Donald" 'Namn hämtat från strKontonamn-variabeln
'##################################################
Set RS = Connect.Execute("Select AnvId, OrgNamn, Aktiverat From AnvDb Where Kontonamn = '" & strKontonamn & "';")
If Not RS.EOF Then
blnAktiverat = CBool(RS("Aktiverat"))
End If
If RS.EOF Then
Response.Redirect("error_fyranollfyra.asp")
ElseIf blnAktiverat = False Then
Response.Redirect("error_inactive.asp")
Else
strAnvId = RS("AnvId")
End If
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title><% =RS("OrgNamn") %></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="*,1" cols="*" framespacing="0" frameborder="NO" border="0">
<frame src="../ks/default.asp?AnvId=<% =strAnvId %>">
<frame src="../bottom.htm" scrolling="NO" noresize>
</frameset>
<noframes><body>
</body></noframes>
</html>
Till min hjälp har jag fått följande exempel:
SkapaFil.WriteLine("Hej "& strKontonamn &", detta är din unika fil.<br>")
Men hur går det då att skriva asp-tecken i denna process? Ta t.ex. den här raden:
<!-- #include file="../inst/dbanslutning_medlem2.asp" -->
När jag kommer till "-tecknet kommer ju WriteLine stoppa här. Likaså har jag ju <% och %>-tecken som skall in. Måste jag här leta upp alla alternativa koder, typ för mellanslag (den enda jag kan utantill :)) och skriva:
SkapaFil.WriteLine("[I]&knasigkodförprocent;[/I] "& strKontonamn &" m.m.<br>")
eller finns det ett enklare sätt?
Vad händer om jag skriver SkapaFil.WriteLine(""") . Blir det ett " av det?
Och slutligen den här raden:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN " "http://www.w3.org/TR/html4/frameset.dtd ">
Står EN för engelska och skall bytas ut mot SV om det är en svensk sida?
@nders Medlem sedan juni 2000 32 967 inlägg Citationstecken escapeas med citationstecken. Ska du skriva ett citationstecken till fil blir det alltså:
SkapaFil.WriteLine("""")
Så i alla strängar där du har citationstecken måste du istället ha två. Om du ska ha med contextswitchar så måste du dela på dem:
SkapaFil.WriteLine("<" & "%")
' resp
SkapaFil.WriteLine("%" & ">")
O Oputres Medlem sedan feb. 2004 333 inlägg Får det inte att fungera :(
Till exempel ger följande kod:
SkapaFil.WriteLine("Set RS = Connect.Execute(""""Select AnvId, OrgNamn, Aktiverat From AnvDb Where Kontonamn = '"""" & strKontonamn & """"';"""")")
det här resultatet:
Set RS = Connect.Execute(""Select AnvId, OrgNamn, Aktiverat From AnvDb Where Kontonamn = '"" & strKontonamn & ""';"")
vilket bjuder på det här felmeddelandet:
Microsoft VBScript compilation error '800a03ee'
Expected ')'
/test/default.asp, line 6
Set RS = Connect.Execute(""Select AnvId, OrgNamn, Aktiverat From AnvDb Where Kontonamn = '"" & strKontonamn & ""';"")
---------------------------^
Hur trycker jag dit enbart ett citationstecken? :q
O Oputres Medlem sedan feb. 2004 333 inlägg Ps. I övrigt fungerar det utmärkt, det är alltså bara citationstecknen som lurar Ds.
Jesper T Medlem sedan nov. 2001 7 144 inlägg Överdriv inte med citationstecken. ;)
SkapaFil.WriteLine("Set RS = Connect.Execute(""Select AnvId, OrgNamn, Aktiverat From AnvDb Where Kontonamn = '"" & strKontonamn & ""';"")")
O Oputres Medlem sedan feb. 2004 333 inlägg Se där, det fungerade ju utmärkt.
En dag kommer jag titta tillbaka på min kod ovan och skämmas :)