webForumDet fria alternativet

Varför byter den namn?

ASP

77 svar · 2 148 visningar · startad av Jeppeweb

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

Microsoft OLE DB Provider for ODBC Drivers error '80040e37'

[MySQL][ODBC 3.51 Driver][mysqld-5.0.45-log]Table 'woho_se.Fraga' doesn't exist

/admin.asp, line 107

LINE 107:

	conn.execute("INSERT INTO fraga (fraga,ar,vecka) VALUES('" & request.form("fraga") & "','" & request.form("ar") &"','" & request.form("vecka") &"')")
		Set RS=Conn.Execute("Select * from Fraga Order By PollID DESC limit 1")
		response.write "<form action='admin.asp?do=skapadatabassvar&pollID=" & pollID & "&antal_svar=" & request.form("antal_svar")& "' method='post'>"
	Rs.Close

Jag har en tabell som heter "fraga" i databasen, men den envisas med att byta till woho_se.Fraga .. varför?

tacksam för hjälp!!

Medlem sedan maj 2003750 inlägg
#2

woho_se torde väll vara namnet på databasen och på Rad två i ditt kodsnutt så har du ju en select-sats som försöker hämta från tabellen Fraga (Med stort F alltså).

Medlem sedan juni 200032 967 inlägg
#3

Heter din databas woho.se? Kolla i så fall att tabellen Fraga verkligen finns där.

Annars:
Kontrollera att du har kollar på rätt rad i ASP-filen.
Skriv ut färdig SQL-fråga med response.write

Medlem sedan sep. 2006462 inlägg
#4

Tabellen hette fraga, jag hade skrivit Fraga.

Petigt.

Nu byter jag ämne helt, typ.
Varför blir det såhär? Jag inkluderar vote.asp på en sida, och tecknena blir helknasiga. Ingen annan sida som jag inkluderar blir såhär, fast dom innehåller ingen asp-kod.

Har provat med "<% Session.LCID = 1053 %>", fungerar inte.

J�pp (0%)

J��r�� (0%)

Ja��� (0%)

H�h�h� (0%)

Medlem sedan juni 20019 519 inlägg
#5

För din asp fil kör nog fel charset på dina sidor.

Medlem sedan sep. 2006462 inlägg
#6

Sidan där den inkluderas ser ut såhär.

<%@ LANGUAGE="VBSCRIPT" %>
<% Option Explicit
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" version="-//W3C//DTD XHTML 1.1//EN" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

Medlem sedan juni 20019 519 inlägg
#7

Och din databas är det UTF-8 du lagrar datan i?

Medlem sedan sep. 2006462 inlägg
#8

MySQL teckenuppsättning: UTF-8 Unicode (utf8)

Japp.

Medlem sedan juni 20019 519 inlägg
#9

Kan du ladda upp så man kan se exakt vad som renderas på sidan?

Medlem sedan sep. 2006462 inlägg
#10

Det är bara att kolla här, det är omröstningen det gäller

http://www.woho.se/index2.asp

noterbart är att kollar man på http://www.woho.se/vote.asp, det är sidan som inkluderas, så försvinner dom konstiga tecknena!

Medlem sedan sep. 2006462 inlägg
#11

Fast nu har jag uppenbarligen stött på ett nytt problem..

Microsoft VBScript runtime error '800a000d'

Type mismatch

/poll/vote.asp, line 29

Rad 29

		Procent = ((recset("klick") / rs("tot"))\*100)
Medlem sedan juni 20019 519 inlägg
#12

Med tanke av att du fick Type mismatch på din förra tråd så kan du kanske lista ut vad felet kan vara...

kontrollera klick och tot att det är tal...

Jag hade samma problem med detta när jag bytte till mac (UTF-8) saken är att ditt program sparar din fil som ISO-8859-1 och inte UTF-8. Du få spara om dina .asp filer som UTF-8 format.

Medlem sedan sep. 2006462 inlägg
#13

Jag vet. Den är satt som ett tal.

Set Rs = Conn.Execute("Select Sum(klick) as tot From svar Where pollID=" & Recset("pID"))

	Response.write "<div id='welcometcolumn'><h1 id='vote'><a href='#' title='Visa tidigare resultat'><img src='images/poll_icon.gif' alt='' />  </a>" 
& RecSet("fraga") & Antal  & Knapp & "</h1></div><div id='votecolumn'>"
		Do Until Recset.EOF
		
		IF Recset("klick")<>0 then
			Procent = ((recset("klick") / rs("tot"))*100)
		Else
			Procent=0
		End if
		
		Antal=Recset("klick")+antal
			x=x+1
			Select Case x
				Case 1: BILD="1.gif"
				Case 2: BILD="1.gif"
				Case 3:	BILD="1.gif"
				Case 4:	BILD="1.gif"
			END SELECT
Medlem sedan juni 200032 967 inlägg
#14

Typkonvertera.
Du måste alltid se till att du räknar med värden som är av rätt typ. Använd CInt(), CLng() eller Cdbl() till exempel, beroende på vad det är för sorts tal.

Läs här om skiftläge på tabellnamn och andra identifierare i MySQL.

Medlem sedan juni 20019 519 inlägg
#15

Rs och RecSet variabler? Kollar du om ditt RS är tomt?

I min mening är det inte direkt smart att du försöker kolla på din rad1:

Set Rs = Conn.Execute("Select Sum(klick) as tot From svar Where pollID=" & Recset("pID"))

(Recset("pID")))
Och EFTER det så försöker du köra ditt RecSet tills den är EOF. Vet inte om du har en kontroll för detta redan men.

För övrigt:
Första google sökningen "ASP and UTF-8": http://www.chilkatsoft.com/faq/Utf8Asp.html

Ska kommentera en sak till:
Är RS max/alltid en träff? Då tycker jag det är lite onödigt att ha ett RecordSet för den datan:

dim Total
Total = Clng(Conn.Execute("Select Sum(klick) as tot From svar Where pollID=" & Recset("pID"))("tot"))

Och använda Total istället för rs("tot") (otestad och förmodligen fel)

Medlem sedan sep. 2006462 inlägg
#16

Vart ska jag använda det? Hur ska det se ut?

Medlem sedan juni 20019 519 inlägg
#17

Ge mig mer kod i min mening, för just nu känns din kod riktigt osäker. men du kan ju placera om det har fungerat för dig på samma rad som du har det idag och använd variablen 'Total' istället för ditt Rs objekt.

Medlem sedan sep. 2006462 inlägg
#18

Såhär ser hela vote.asp ut.

<%

IF Request.Querystring("do")="vote" then

		Set RecSet = conn.execute("Update svar Set klick=klick+1 Where id=" & Request.Form("vote"))
			Response.Cookies("rostat")="JA"
			Response.Cookies("rostat").Expires = date + 1
		Response.Redirect sidan
		
ELSE

Set RecSet = conn.execute("SELECT * , svar.ID AS vID, svar.pollID as pID FROM fraga INNER JOIN svar 
ON svar.PollID=fraga.pollID WHERE vecka=" & DatePart("ww", Date) & " And ar =" & DatePart("yyyy", Date) & " ORDER BY fraga.PollId DESC, Svarnr ASC")

IF Recset.EOF THEN

ELSE

Set Rs = Conn.Execute("SELECT sum(klick) AS tot FROM svar WHERE pollID=" & Recset("pID"))

	Response.write "<div id='welcometcolumn'><h1 id='vote'><a href='#' title='Visa tidigare resultat'><img src='images/poll_icon.gif' alt='' />  
</a>" & RecSet("fraga") & Antal  & Knapp & "</h1></div><div id='votecolumn'>"
		Do Until Recset.EOF
		
		IF Recset("klick")<>0 then
			Procent = ((recset("klick") / rs("tot"))*100)
		Else
			Procent=0
		End if
		
		Antal=Recset("klick")+antal
			x=x+1
			Select Case x
				Case 1: BILD="1.gif"
				Case 2: BILD="1.gif"
				Case 3:	BILD="1.gif"
				Case 4:	BILD="1.gif"
			END SELECT	
				
				
				
				IF Request.Cookies("rostat")<> "JA"   THEN
				
							Radio="<input checked type=""radio"" name='vote' value=" & recset("vID") & "><img scr='' width=1>"
							Knapp ="<center><br><input type=submit value=Vote!></center>"
							Response.write "<form action=" & sidan & "?do=vote&ID=" & Recset("vID") &" method=post>"
								
											
					END IF
					
					
						Response.write "<a href='#'>" &recset("svar") & " (" & left(Procent,4) & "%)</a><br>"
						Response.write "<table border=""0"" width='" & bredd & "' height=""" & hojd  &""">" &_
						"<tr bgcolor="& Color &">" &_
						"<td height='" & hojd  &"' width=""100%"">" &_				
						"<table border=""0"" width=""100%"" height=""" & hojd  &""">" &_
						"<tr><td>"& Radio &"<img src=""images/start.gif"">" 
						
						IF Request.Cookies("rostat")=EMPTY then
							Response.write "<img src=""images/" & BILD &""" height="""& hojd  &""" width='" & int(left(Procent,4)-15) & "%'>"
							
						ElseIF int(left(Procent,3))=100 AND Request.Cookies("rostat")= "JA" then
							Response.write "<img src=""images/" & BILD &""" height="""& hojd  &""" width='98%'>"
						Else
							Response.write "<img src=""images/" & BILD &""" height="""& hojd  &""" width="& int(left(Procent,4)) &"%"">"

						End IF
						
						Response.write "<img src=""images/end.gif"">" &_
						"</td></tr></table>" &_
						"</tr>" &_
						"</table>"

		
		Recset.MoveNext
		LOOP
	Response.write "<br> Antal: " & Antal  & Knapp 
	Response.write "</div>" 
	
	RecSet.Close
	RS.close
END IF
END IF

Conn.Close
Set Conn = Nothing%>
Medlem sedan sep. 2006462 inlägg
#19

Inte den bästa kodningen kan jag förstå, den fungerade iallafall felfritt innan jag bytte ut Access databasen till MySQL.

Tacksam för all hjälp.

Medlem sedan juni 20019 519 inlägg
#20

1. Set RecSet = conn.execute("Update svar Set klick=klick+1 Where id=" & Request.Form("vote"))
Update/Insert/Delete retunera inget därför ska du inte ha Set RecSet. (Även om det hade det så sätter du inte RecSet till Nothing vilket du verkligen borde göra.

2.IF Recset.EOF THEN Använd hellre:
"If Not RecSet.EOF Then" om du inte ska visa något om ditt Recset är tomt.

3. Alla variabler du använder: Se till att dim:ar upp dom.

<%
If Request.Querystring("do") = "vote" Then
	conn.execute("Update svar Set klick=klick+1 Where id=" & Request.Form("vote"))
	Response.Cookies("rostat")="JA"
	Response.Cookies("rostat").Expires = date + 1
	Response.Redirect sidan
Else
	Dim RecSet
	Set RecSet = conn.execute("SELECT * , svar.ID AS vID, svar.pollID as pID FROM fraga INNER JOIN svar ON svar.PollID=fraga.pollID WHERE vecka=" & DatePart("ww", Date) & " And ar =" & DatePart("yyyy", Date) & " ORDER BY fraga.PollId DESC, Svarnr ASC")

	If Not RecSet.EOF Then
		Dim totalVotes, Antal, Procent, x, BILD
		totalVotes = Conn.Execute("SELECT sum(klick) AS tot FROM svar WHERE pollID=" & Recset("pID"))("tot")
		totalVotes = CLng(totalVotes)
		Response.Write "<div id='welcometcolumn'><h1 id='vote'><a href='#' title='Visa tidigare resultat'><img src='images/poll_icon.gif' alt='' /></a>" & RecSet("fraga") & Antal  & Knapp & "</h1></div><div id='votecolumn'>"
		Do Until Recset.EOF
		
			If Recset("klick") <> 0 Then
				Procent = (CLng((recset("klick")) / totalVotes) * 100)
			Else
				Procent=0
			End If
		
			Antal = Recset("klick") + antal
			x = x + 1
			Select Case x
				Case 1: BILD = "1.gif"
				Case 2: BILD = "1.gif"
				Case 3:	BILD = "1.gif"
				Case 4:	BILD = "1.gif"
			End Select

			If Request.Cookies("rostat") <> "JA" Then
				Radio="<input checked type=""radio"" name='vote' value=" & recset("vID") & "><img scr='' width=1>"
				Knapp ="<center><br><input type=""submit"" value=""Vote!""></center>"
				Response.Write "<form action=" & sidan & "?do=vote&ID=" & Recset("vID") &" method=post>"
			End If
			
			Response.Write "<a href='#'>" &recset("svar") & " (" & left(Procent,4) & "%)</a><br>"
			Response.Write "<table border=""0"" width='" & bredd & "' height=""" & hojd  &""">" &_
							"<tr bgcolor="& Color &">" &_
							"<td height='" & hojd  &"' width=""100%"">" &_				
							"<table border=""0"" width=""100%"" height=""" & hojd  &""">" &_
							"<tr><td>"& Radio &"<img src=""images/start.gif"">" 
						
			If Request.Cookies("rostat") = EMPTY Then ' Var kommer Empty ifrån?
				Response.Write "<img src=""images/" & BILD &""" height="""& hojd  &""" width='" & int(left(Procent,4)-15) & "%'>"
			ElseIf Int(Left(Procent,3)) = 100 And Request.Cookies("rostat") = "JA" Then
				Response.write "<img src=""images/" & BILD &""" height="""& hojd  &""" width='98%'>"
			Else
				Response.write "<img src=""images/" & BILD &""" height="""& hojd  &""" width="& int(left(Procent,4)) &"%"">"
			End IF
						
			Response.write "<img src=""images/end.gif"">" & _
				"</td></tr></table>" & _
				"</tr>" & _
				"</table>"
			Recset.MoveNext
		Loop
		
		Response.Write "<br> Antal: " & Antal  & Knapp 
		Response.Write "</div>" 
	
	End If
	
	RecSet.Close
	RS.close

End If

Conn.Close
Set Conn = Nothing%>
268 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)