webForumDet fria alternativet

Fel Kod ???

ASP

11 svar · 388 visningar · startad av Phinx

Medlem sedan okt. 200171 inlägg
Frågan#1

Hejsan

Vet ni vad denna felkod betyder. jag fattar ingenting.
Var ett gratisscript som jag har fått från mitt webbhotall
på ett fotoalbum, som ser helt ok ut. Men de har ingen support på scriptet och man laddade bara över det till sin katalog sen skulle allt funka ..Ha Ha trode jag..

Eller har ni några förslag på ett Foto albums script där man kan ladda upp bilder själv.??

Fel kod:

Microsoft VBScript runtime error '800a01a8'

Object required: 'ObjectConn'

/ASP-gallery/function.asp, line 45

MVH / Phinx.. :q :q

Medlem sedan juni 200032 967 inlägg
#2

Tja, det ser ut som att objektet ObjectConn inte är skapat. Visa kod till och med rad 45, ty vi kan icke gissa.

mvh

Medlem sedan jan. 2004128 inlägg
#3

Felkoden betyder inget annat än att objektet ObjectConn inte är skapat. Kolla så att du har använt exakt samma stavning när du skapade det (om du över huvud taget gjorde det :P), motorn skiljer även på gemener och versaler.

Medlem sedan juni 200032 967 inlägg
#4

SprayMaphia skrev:

motorn skiljer även på gemener och versaler.

Nej, det gör den inte. Inte när man använder VBScript.

Mvh

Medlem sedan apr. 2005254 inlägg
#5

En kompis till mig tog hem ett gratisscript för att skicka vykort på nätet. Den använde sig av en mysql-databas. Han döpte sin databas till "mina vykort" vilket inte gick så bra. Efter att ha döpt om den till minaVykort eller om det var mina_vykort så funkade det utmärkt. Akta dig för mellanslagen...

Medlem sedan okt. 200171 inlägg
#6

Hejsan

Här kommer hela scriptet, eftersom jag har laddat hem det från Ballou så har jag inte gjort något själv... Tack tack på förhand..

<!--#include file="function.asp"-->
<!--#include file="config.asp"-->
<html>
<head>
<title>Välkommen till ASP-Galleriet</title>
<script LANGUAGE="JavaScript">
<!-- hide contents from old browsers
var version;
var width,height
var image,ext,descrip
var cond1,cond2
function transferview(image,title,width,height,descrip)
{
if (width==0)
{
cond1=" ";
}else{
cond1="width="+(width+60)+" ";
}if (height==0){
cond2="scroll='yes'";
}else{
cond2="height="+(height + 60 + descrip.length)+" scroll='no'";
}

    var s1 ="\<head\>\<TITLE\>"+title+"\</TITLE\>\<style\>body{font-family:verdana; font-size:10px; color:#333333}.but{font-size:10px}\</style\>\</head\>"
    var s15="\<BODY BGCOLOR=#FFFFFF topmargin=5\>"
    var s2 ="\<CENTER\>\<IMG SRC='"+image+"' width="+width+" height="+height+" BORDER=0\>\<br\>"+descrip+"\<br\>"
    var s3 ="\<FORM\>\<INPUT TYPE='BUTTON' VALUE='Stäng&nbsp;fönstret'"+" onClick='self.close()' class=but\>"
    var s4 ="\</FORM\>\</CENTER\>\</BODY\>"

    ImageWindow=window.open("", "newwin"+width,"toolbar=no,scrollbars="+scroll+",menubar=no,"+cond1+","+cond2);
    ImageWindow.document.write(s1+s15+s2+s3+s4)
    ImageWindow.document.close()
}

-->
</script>
<style>
body {font-family:verdana; font-size:10px; color:#666666}
td {font-family:verdana; font-size:10px; color:#666666}
a {font-family:verdana; font-size:10px; color:#990000; text-decoration:none}
a:hover {text-decoration:underline}
hr {border:dashed #990000 1px;background-color:#ffffff;height:0px;}
</style>
</head>
<body>
<table cellpadding=0 cellspacing=0 width=630 align=center>
<tr>
<%
LocalGroup = Request.ServerVariables("PATH_TRANSLATED")
Source = Server.MapPath("../../db/ASP-gallery.mdb")
ImgData = Source

Select Case Request.QueryString("showoff")
Case "Title"
%><td colspan="<%=CellWidth%>" height=20>Du befinner dig i albumet <b><% =Request.QueryString("Category") %></b><hr></td></tr><tr><%
ShowSQL = "SELECT * FROM Images ORDER BY Title ASC"
Case "Added"
%><td colspan="<%=CellWidth%>" height=20>Här visas de 10 senaste bilderna<hr></td></tr><tr><%
ShowSQL = "SELECT * FROM Images ORDER BY Added DESC"
Case Else
%><td><b>Välj Album:</b><hr><ul><%
Trigger = 10
ShowSQL = "SELECT DISTINCT(Category) FROM Images ORDER BY Category ASC"
Call Rebuild("gallery.asp")
End Select

If Len(Request.QueryString("Category")) > 1 Then
ShowSQL = Replace(ShowSQL,"FROM Images ORDER","FROM Images WHERE Category = '" & Request.QueryString("Category") & "' ORDER")
End If
If Request.QueryString("New") = "yes" Then

End If

If Request.QueryString("top") > 0 Then
ShowSQL = Replace(ShowSQL,"SELECT ","SELECT TOP " & Request.QueryString("top") & " ")
End If

ShowSQL = Replace(ShowSQL,"FROM Images WHERE","FROM Images WHERE")
ShowSQL = Replace(ShowSQL,"FROM Images ORDER","FROM Images WHERE NOT (ThumbNail LIKE '%-t-t.jp%') ORDER")

Set ObjConn = Server.CreateObject("ADODB.Connection")
DataSource = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ImgData
ObjConn.Open DataSource

Set RS = ObjConn.Execute(ShowSQL)

If Not(RS.EOF) Then
j = 0
ShowOff = Request.QueryString("showoff")
Do While Not (RS.EOF)
If Request.QueryString("top") > 0 Then
If CInt(Request.QueryString("top")) <= k Then
ShowOff = "Alldone"
End If
End If

	Select Case ShowOff
		Case "Alldone"
			RS.MoveNext
			j = j + 1
			k = k + 1
		Case "Title"
			j = j + 1
			k = k + 1
		%\>
\<td valign=bottom align=center\>\<A HREF="javascript:transferview('\<% =RS("FileName") %\>','\<% If Not IsNull(RS("Title")) Then %\>\<% =Replace(RS("Title"),Chr(39),"\\'") %\>\<% End If %\>',\<% =HaveVal("Fwidth",RS("ID"),RS("Fwidth")) %\>,\<% =HaveVal("Fheight",RS("ID"),RS("Fheight")) %\>,'\<% If Not IsNull(RS("Descrip")) Then %\>\<% =Replace(RS("Descrip"),Chr(39),"\\'") %\>\<% End If %\>')"\>
\<img src="\<% =HaveVal("Thumbnail",RS("ID"),RS("Thumbnail")) %\>" width=\<% =HaveVal("twidth",RS("ID"),RS("twidth")) %\> height=\<% =HaveVal("theight",RS("ID"),RS("theight")) %\> border=0\>\<br\>\<% =RS("Title") %\>\</a\>\</td\>
		\<%
			RS.MoveNext
		Case "Added"
			j = j + 1
			k = k + 1
		%\>
\<td valign=bottom align=center\>\<A HREF="javascript:transferview('\<% =RS("FileName") %\>','\<% If Not IsNull(RS("Title")) Then %\>\<% =Replace(RS("Title"),Chr(39),"\\'") %\>\<% End If %\>',\<% =HaveVal("Fwidth",RS("ID"),RS("Fwidth")) %\>,\<% =HaveVal("Fheight",RS("ID"),RS("Fheight")) %\>,'\<% If Not IsNull(RS("Descrip")) Then %\>\<% =Replace(RS("Descrip"),Chr(39),"\\'") %\>\<% End If %\>')"\>
\<img src="\<% =HaveVal("Thumbnail",RS("ID"),RS("Thumbnail")) %\>" width=\<% =HaveVal("twidth",RS("ID"),RS("twidth")) %\> height=\<% =HaveVal("theight",RS("ID"),RS("theight")) %\> border=0\>\<br\>\<b\>\<% =RS("Title") %\>\</a\>\</b\>\<br\>\<i\>tillagd \<%=Month(RS("Added"))%\>/\<%=Day(RS("Added"))%\>/\<%=Year(RS("Added"))%\>\</i\>\</td\>
		\<%
			RS.MoveNext
		Case Else
		%\>
\<li\>\<a href="gallery.asp?showoff=Title&Category=\<% If Not IsNull(RS("Category")) Then %\>\<% =Server.URLEncode(RS("Category")) %\>"\>\<% =RS("Category") %\>\<% Else %\>"\>Ny\<% End If %\>\</a\>
		\<%
			RS.MoveNext
	End Select
	If j =\> CellWidth Then
		%\>\</tr\>\<tr\>\<%
		j = 0
	End If
Loop

End If
RS.Close
Set RS=Nothing
ObjConn.Close
Set ObjConn=Nothing
If Trigger = 10 Then
%>

</ul></td>
<% End If %>
</tr>
</table>
<table cellpadding=0 cellspacing=0 width=630 align=center>
<tr>
<td><hr></td></tr><tr><td align=center><a href="gallery.asp"><-- Tillbaka till Album-listan</a><br><a href="gallery.asp?showoff=Added&top=10&New=yes">Visa de 10 senaste bilderna</a><br></td></tr>
</table>
</body>
</html>

MVh / Phinx

PS det finns inga mellanslag i filnamnen inte på databasen heller som är Acess om jag fattade det hela rätt.

Medlem sedan juni 200032 967 inlägg
#7
  1. Använd [kod]-taggar när du postar kod.
  2. Posta koden från functions.asp, det är ju där felet inträffar.
Medlem sedan okt. 200171 inlägg
#8

Hejsan

Jag är ledsen men jag förstod inte det där ..

MVH / Phinx

Medlem sedan juni 200032 967 inlägg
#9
  1. Om du lägger koden mellan [.kod] och [./kod] (utan punkter) blir koden mer lättläst.
  2. Felmeddelandet visar ju att det är i functions.asp (som inkluderas på sidan), som felet inträffar. Visa därför koden i den filen, där man har en chans att finna felet. De första 50 raderna eller så, så man får med den rad som felet pekar på.
Medlem sedan okt. 200171 inlägg
#10

Hejsan

Ok nu hajjar jag tror jag sorry lite trögt i dag....

Här är de första 60 raderna i function.asp

<%@ LANGUAGE = VBScript.Encode %>
<%
Sub Rebuild(rooter)
MinMatch = BaseWidth * 50
thePath = Request.ServerVariables("PATH_INFO")
thePath = Replace(thePath,"/gallery.asp","")
thePath = Replace(thePath,"/galleryjs.asp","")
thePath = Replace(thePath,rooter,"")

Set objFS = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder(Server.MapPath(thePath))

For Each objItem In objFolder.Files
	If objItem.Size \> MinMatch And ((Right(objItem.Name,3) = "jpg" OR Right(objItem.Name,3) = "jpe" OR Right(objItem.Name,4) = "jpeg")) And (InStr(objItem.Name,"-t.") \< 1)  Then
		Set ObjectConn = Server.CreateObject("ADODB.Connection")
		DataSource = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ImgData
		ObjectConn.Open DataSource
		Set RSt = ObjectConn.Execute("SELECT FileName FROM Images WHERE FileName LIKE '%" & objItem.Name & "'")
			If RSt.EOF Then
				SQLStatement = "INSERT INTO Images (FileName,Title) VALUES ('" & objItem.Name & "','" & objItem.Name & "')"
				UpD(SQLStatement)
			End If
		RSt.Close 
		Set RSt=Nothing 
	End If
Next

For Each objsubFolder In objFolder.SubFolders
	For Each objItem In objsubFolder.Files
		If objItem.Size \> MinMatch And ((Right(objItem.Name,3) = "jpg" OR Right(objItem.Name,3) = "jpe" OR Right(objItem.Name,4) = "jpeg")) And (InStr(objItem.Name,"-t.") \< 1) Then
			Set ObjectConn = Server.CreateObject("ADODB.Connection")
			DataSource = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ImgData
			ObjectConn.Open DataSource
			Set RSt = ObjectConn.Execute("SELECT FileName FROM Images WHERE FileName LIKE '%" & objsubFolder.Name & "/" & objItem.Name & "'")
				If RSt.EOF Then
					SQLStatement = "INSERT INTO Images (FileName,Title) VALUES ('" & objsubFolder.Name & "/" & objItem.Name & "','" & objsubFolder.Name & "/" & objItem.Name & "')"
					UpD(SQLStatement)
				End If
			RSt.Close 
			Set RSt=Nothing 
		End If
	Next
Next

ObjectConn.Close 
Set ObjectConn=Nothing

End Sub

Function UpD(SQL)
Set InsConn = Server.CreateObject("ADODB.Connection")
DataSource = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ImgData
InsConn.Open DataSource

If Len(SQL) \> 5 Then
	Set qryInsert = InsConn.Execute(SQL)
End If

InsConn.Close 
Set InsConn=Nothing	

End Function

Tack tack för all hjälp.. ni är guld värda..

/ Phinx :-)

Medlem sedan apr. 20031 660 inlägg
#11

HEJ!

Du glömde kod-taggarna...

Felsökningssätt:
ObjectConn verkar inte finnas, hur är det med det?

För att lösa det använde ctrl+f, sista koden, uppåtsökning, letade efter ObjectConn:
- ObjectConn.Open DataSource
- DataSource = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ImgData
- ImgData = Source
- Source = Server.MapPath("../../db/ASP-gallery.mdb")

Ligger databasen där? Och finns den när du behöver den?

Medlem sedan juni 2004533 inlägg
#12

Oj... Den där koden är verkligen riktigt ordentligt dålig.

Det skapas mängder av databaskopplingar helt i onödan, och de flesta av dem stängs inte ens. Förutom att det använder massor av resurser ifrån databasen och blir oerhört långsamt, så kan du inte ha fler bilder än det antal databaskopplingar som databasen tillåter samtidigt.

Öppna databaskopplingen i början av subrutinen åtminstone, så att du använder en enda databaskoppling, och skicka med referensen till databaskopplingen till UpD() så att den kan använda samma databaskoppling istället för att öppna en ny hela tiden.

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)