💬
Logga in
Fuska.se

Ännu Ett Problem I Asp

6 svar · startad

Nivå 11 · Veteranfuskare
Trådstartare #1

Har ett litet problem med följande kod(vill påpeka att jag använde nico´s Blogg-skript till hjälp för att bygga koden):

 

Detta är i varje fall förstasidan på en gästbok, där ska man se det sista inlägget som skrevs och så ska man kunna välja ett annat inlägg bland de existerande.

 

Koden:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
If Not Session("hhh") = "lll" Then
    Response.Redirect("inteinloggad.html")
End If
%>
<html>
<head>
<title>Gästboken</title>
<link href="Sheet/defualt.css" rel="stylesheet" type="text/css">
</head>
<%
If Request.QueryString("id") = "" Then
    SQL = "SELECT TOP 1 ID,Titel,Datum,Tid,Inlagget,Anvandarnamn FROM GB ORDER BY ID DESC"
    svar = "Det senaste inlägget:"
Else
    ID = Trim(Request.QueryString("ID"))
    If IsNumeric(ID) = False Then
 Response.Redirect("index.asp")
    Else
 ID = replace("ID","'","''")
SQL = "SELECT ID,Titel,Datum,Tid,Inlagget,Anvandarnamn FROM GB WHERE ID='"&ID&"'"

'SQL:en som används när felet uppstår:

SQL = "SELECT ID,Titel,Datum,Tid,Inlagget,Anvandarnamn FROM GB WHERE ID='"&ID&"'"

    End If
End If
Set db = Server.CreateObject("ADODB.Connection")
    db.Provider = "Microsoft.Jet.OLEDB.4.0"
    db.Open Server.MapPath("data/gb.mdb")
    Set rs = Server.CreateObject("ADODB.Recordset")

'Raden där "felet" ligger

rs.Open SQL, db

datum1 = rs("datum")
tid1 = rs("Tid")
minut1 = Minute(tid)
timme1 = Hour(tid)
If Day(datumet1)=Day(Now) And Month(datum1)=Month(Now) And Year(datume1)=Year(Now) Then
    datumet = "Idag kl"
ElseIf Day(datumet)+1=Day(Now) And Month(datum1)=Month(Now) And Year(datume1)=Year(Now) Then
    datumet = "Igär kl"
Else
    datumet = datum1
End If
losning = rs("Inlagget")
inlagget = replace(losning,vbCrLf,"<br>")
    
%>
<body>
<table width="767" border="0">
 <tr>
   <td class="Sheet"><h1>Gästboken</h1>
   <p>Tid för inlägget:</p>
   <p><%Response.Write(Datumet & " " & tid1)%>  </p>
   <p>
    <%=svar%>
    <table width="561" border="0">
 <tr>
   <td width="555"><%= inlagget%></td>
 </tr>
</table>
   <p><br>
       <br>
       <br>
     Tidigare Inlägg:<br>
  <%
  rs.close
   SQL = "SELECT ID,Titel,Datum,Tid,Inlagget,Anvandarnamn FROM GB ORDER BY ID DESC"
    rs.Open SQL, db
Do Until rs.EOF = True
datum1 = rs("datum")
tid1 = rs("Tid")
minut1 = Minute(tid)
timme1 = Hour(tid)
If Day(datumet1)=Day(Now) And Month(datum1)=Month(Now) And Year(datume1)=Year(Now) Then
    datumet = "Idag kl"
ElseIf Day(datumet)+1=Day(Now) And Month(datum1)=Month(Now) And Year(datume1)=Year(Now) Then
    datumet = "Igär kl"
Else
    datumet = datum1
End If
tiden = datumet & " " & tid1
Response.Write("<a href='gb.asp?id=" & rs("ID") & "'>" & rs("Titel") & "</a> - " & tiden & "<br>")
rs.MoveNext
Loop
rs.close
Set rs = Nothing
    %>
    </p>
   <p><a href="gastbok/index.asp">Nytt Inlägg! </a></p>
   </td>
 </tr>
</table>
</body>
</html>

Felmeddelandet jag får är:

 

Microsoft JET Database Engine- Error '80040e07'

 

Typblandningsfel i villkorsuttryck.

 

/gb.asp, line 29

 

Senast ändrad:

8 Apr 2007
Nivå 9 · Veteranfuskare
#2

ID i databasen är en räknare och när man räknar använder man tal och tal skrivs utan citattecken runtom. :)

 

D.v.s.

SQL = "SELECT ID,Titel,Datum,Tid,Inlagget,Anvandarnamn FROM GB WHERE ID="&ID&"" vilket är exakt samma sak som

SQL = "SELECT ID,Titel,Datum,Tid,Inlagget,Anvandarnamn FROM GB WHERE ID="&ID

Senast ändrad:

9 Apr 2007
Nivå 11 · Veteranfuskare
Trådstartare #3

Tack, det funkar nu!

Nivå 4 · Lärling
#4

jag fattade ingenting där.......

Nivå 9 · Veteranfuskare
#5

Du e inte ensam..

#6

Då är vi 3..

Nivå 5 · Fuskare
#7

Varför skriva något överhuvudtaget om ni inte fattar något?

ASP är ett serverscript som används ofta för att skapa databaser. Samma sak som PHP i stora drag.

Senast ändrad:

Vill du vara med i diskussionen?

Bli medlem Logga in