webForumDet fria alternativet

felmeddelande expected end

ASP

10 svar · 392 visningar · startad av jake

Medlem sedan sep. 2001649 inlägg
Frågan#1

hej,
har följande kod på en sida och får felmeddelande

Microsoft VBScript compilation error '800a03f6'
Expected 'End'

på sista raden.

Jag kan dock inte se att det saknas något. iaf alla if-satser är ju avslutade...
Någon som är mer klarsynt än jag...


<!--#include file="inc_am_security.asp"-->

<%
'''This function deletes a site
Function DeleteSite(varID)

	Set oConnect = Server.CreateObject("ADODB.Connection")
	oConnect.Open strConn
	oConnect.Execute("DELETE FROM " & Request.QueryString("TABELL") & " where id = " & varID)
	oConnect.Close
	Set oConnect = Nothing

	Response.write "Site med ID " & varID & " har raderats från " & Request.QueryString("TABELL") & "<br>"

End Function
%>

<%
'''This function approves a site
Function ActivateSite(varID)

	Dim sDatum, sTid, sIP, sURL, sRubrik, sTipsare

    	Set oRecSet = Server.CreateObject("ADODB.Recordset")
	SQLStmt = "select * from vinsttips_nonapproved where id = " & varID
	oRecSet.Open SQLStmt, strConn, 3, 3

	sDatum = Date()
	sTid = Time()
	sSlutdatum = oRecset ("slutdatum")
	sArrangor = oRecset ("arrangor")
	sURL = oRecSet("url")
	sUppgift = oRecSet("uppgift")
	sDirekturl = oRecSet("direkturl")
	sVinst = oRecSet("vinst")
	sKlick = oRecSet("klick")

	oRecSet.Close
	Set oRecSet = Nothing

	Set oConnect = Server.CreateObject("ADODB.Connection")
	oConnect.Open strConn
	oConnect.Execute("INSERT INTO vinsttips (datum, tid, slutdatum, arrangor, url, uppgift, direkturl, vinst, klick) VALUES ('" & sDatum & "', '" & sTid & "', '" & sSlutdatum & "', '" & sArrangor & "', '" & sURL & "', '" & sUppgift & "', '" & sDirekturl & "', '" & sVinst & "', '" & sKlick &"')")
	oConnect.Close
	Set oConnect = Nothing

	DeleteSite varID

	Response.write "<b>Siten har godkänts!</b><br><br>"
	
End Function
%>

<%
'''This function updates siteinfo
Function UpdateSite(varID)

	Set oConnect = Server.CreateObject("ADODB.Connection")
	oConnect.Open strConn
	oConnect.Execute("UPDATE " & Request.QueryString("TABELL") & " SET datum = '" & Request.Form("datum") & "', tid = '" & Request.Form("tid") & "', slutdatum = '" & Request.Form("slutdatum") & "', arrangor = '" & Request.Form("arrangor") & "', url = '" & Request.Form("url") & "', uppgift = '" & Request.Form("uppgift") & "', direkturl = '" & Request.Form("direkturl") & "', vinst = '" & Request.Form("vinst") & "', klick = '" & Request.Form("klick") & "' WHERE id = " & varID)
	oConnect.Close
	Set oConnect = Nothing

	Response.write "<b>Uppgifterna har uppdaterats!</b><br><br>"
	
End Function
%>

<%
'''This function gets site from the database
Function GetSite(varID)

    	Set oRecSet = Server.CreateObject("ADODB.Recordset")
	SQLStmt = "select * from " & Request.QueryString("TABELL") & " where id = " & varID
	oRecSet.Open SQLStmt, strConn, 3, 3

	%>

	<form action="vt_editsite.asp?action=uppdatera&ID=<%=Request.QueryString("ID")%>&TABELL=<%=Request.QueryString("TABELL")%>" method="post">
	<table width="300" border="0" cellspacing="0" cellpadding="0" height="0">
	   <tr><td><b>Tabell</b></td><td><input type="text" name="tabell" readonly value="<%=Request.QueryString("TABELL")%>" size=35 maxlength="40"></td></tr>
	   <tr><td><b>Datum</b></td><td><input type="text" name="datum" value="<%=oRecSet("datum")%>" size=35 maxlength="40"></td></tr>
	   <tr><td><b>Tid</b></td><td><input type="text" name="tid" value="<%=oRecSet("tid")%>" size=35 maxlength="40"></td></tr>
	   <tr><td><b>Slutdatum</b></td><td><input type="text" name="slutdatum" value="<%=oRecSet("slutdatum")%>" size=50 maxlength="250"></td></tr>
	   <tr><td><b>Arrangor</b></td><td><input type="text" name="arrangor" value="<%=oRecSet("arrangor")%>" size=50 maxlength="250"></td></tr>
	   <tr><td><b>URL</b></td><td><input type="text" name="url" value="<%=oRecSet("url")%>" size=50 maxlength="250"></td></tr>
	   <tr><td><b>Uppgift</b></td><td><input type="text" name="uppgift" value="<%=oRecSet("uppgift")%>" size=50 maxlength="250"></td></tr>

	   <tr><td><b>direktURL</b></td><td><input type="text" name="direkturl" value="<%=oRecSet("direkturl")%>" size=50 maxlength="250"></td></tr>
	   <tr><td><b>Vinst</b></td><td><input type="text" name="vinst" value="<%=oRecSet("vinst")%>" size=50 maxlength="250"></td></tr>
	   <tr><td><b>Klick</b></td><td><input type="text" name="klick" value="<%=oRecSet("klick")%>" size=40 maxlength="10"></td></tr>
	</table>
	<br>
	<center><input type="submit" value="Uppdatera" name="B1"></center>
	</form>

	<%
	oRecSet.Close
	Set oRecSet = Nothing	
End Function
%>
	

<html>
<head>
<!--#include file="../metatags.asp"-->
</head>

<body bgcolor="#7B8CA2" text="#475A69" link="#475A69" vlink="#475A69" ALINK="#475A69">
<b>

<%
IF Request.QueryString("action") = "uppdatera" Then
	UpdateSite Request.QueryString("ID")
End IF
IF Request.QueryString("action") = "aktivera" Then
	ActivateSite Request.QueryString("ID")
End IF
IF Request.QueryString("action") = "radera" Then
	DeleteSite Request.QueryString("ID")
End IF

If Request.QueryString("action") <> "aktivera" AND Request.QueryString("action") <> "radera" Then %>

	Site ID: <%=Request.QueryString("ID")%><br>
	<%GetSite Request.QueryString("ID")%>

	<center>
	<table width="1" height="1" border="0" cellspacing="0" cellpadding="0">
	<% If Request.QueryString("TABELL") = "vinsttips_nonapproved" Then %>
	  <tr>
	    <td>
		<form action="vt_editsite.asp?action=aktivera&ID=<%=Request.QueryString("ID")%>&TABELL=<%=Request.QueryString("TABELL")%>" method="post">
		<input type="submit" value="Aktivera" name="B1">
			</form>
	    </td>
	  </tr>
	<% End If %>
	  <tr>
	    <td colspan="2" align="center">
		<form action="vt_editsite.asp?action=radera&ID=<%=Request.QueryString("ID")%>&TABELL=<%=Request.QueryString("TABELL")%>" method="post">
		<input type="submit" value="Radera" name="B2">
		</form>
	    </td>
	  </tr>
	</table>
	</center>
<%End if%>               

</b>
</body>
</html>
Medlem sedan juni 200032 967 inlägg
#2

Du har inte avslutat funktionen GetSite().

Medlem sedan apr. 20022 743 inlägg
#3

Tips är att alltid kolla filen du inkluderar också om du är osäker.

Men du har inte avslutat alla funktioner.

Medlem sedan sep. 2001649 inlägg
#4

tack det stämde!

Dock fungerar det fortfarande inte...

Får nu felmeddelande

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.

som är på raden

oRecSet.Open SQLStmt, strConn, 3, 3

i ovanstående kod (redigerade den ursprungliga koden så det inte skulle bli så mycket scrollande)

Medlem sedan apr. 20031 660 inlägg
#5

HEJ!

Låter som att du får gräva ned dig i varför du inte kan använda "strConn, 3, 3".

Vi ser inte heller vad strConn är för något.

Tipsar om wf-rekommenderationen https://www.connectionstrings.com.

Jag undrar också hur du löst databasfrågorna på andra sidor, dvs detta är inget fel som plötsligt händer, du måste ha samma fel på många sidor.

Medlem sedan sep. 2001649 inlägg
#6

tack för feedback.

det konstiga är att det fungerar på andra sidor...
missade att den koden finns på två ställen på sidan.
Men det är i funktionen Getsite som anges som det anges som fel...

Medlem sedan apr. 20031 660 inlägg
#7

HEJ!

Gissning:
Det finns inget dbobjekt?

Test:
För att komma till GetSite Request.QueryString("ID") med ett stängt dbobjekt kan UpdateSite köras först, och där stänger du oConnect.
Därför borde du inte få fel om du uppdaterar eller raderar?

Sant eller falskt?

Medlem sedan sep. 2001649 inlägg
#8

J.N. skrev:

Gissning:
Det finns inget dbobjekt?

Test:
För att komma till GetSite Request.QueryString("ID") med ett stängt dbobjekt kan UpdateSite köras först, och där stänger du oConnect.
Därför borde du inte få fel om du uppdaterar eller raderar?

Sant eller falskt?

Förstår inte riktigt hur du menar. databaskopplingen stängs ju i funktionen ovanför GetSite med koden
oConnect.Close
Set oConnect = Nothing

men sen ska den öppnas igen.
är nog inget fel på strConn då den används på andra sidor där det fungerar.

Medlem sedan apr. 20031 660 inlägg
#9

HEJ!

Okej, det var en gissning, men säger du att det fungerar får jag lite på dig.

Nästa råd:
Det andra stället du har 3, 3 på krånglar alltså inte?

Medlem sedan sep. 2001649 inlägg
#10

var tydligen något strul med databaskopplingen iaf. När jag ändrade lite fram och tillbaka så fick jag det sedan att fungera. Men nu när jag testar igen får jag ett annat felmeddelande...

Microsoft OLE DB Provider for ODBC Drivers error '80020009'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

Verkar konstigt eftersom jag, vad jag vet, inte ändrat något sedan det fungerat en gång tidigare...

Medlem sedan sep. 2001649 inlägg
#11

var tydligen något som matades in i databasen som inte var tillåtet för det fältet...

mer info finns här om någon skulle få samma felmeddelande...
http://www.aspfaq.com/show.asp?id=2288

där ser man jag lyckas lösa lite på egen hand också även om det tar en evinnerlig tid för en nybörjare...

markerar @nders svar som godkänt då det var svaret på den första frågan.

återkommer kanske med fler frågor i nya trådar...

387 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
122 ms — deklarationer (db)
121 ms — hämta statistik (db)
141 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)