- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- [ASP] Forum di Clotz...errori...
-
[ASP] Forum di Clotz...errori...
Ciao a tutti volendo aggiungere ad un sito un forum non molto complesso ho dato un'occhiata in giro per scovare qualche script già pronto (dato che ne capisco poco) e ho trovato il forum di Clotz che per un uso modesto va benissimo il link è questo:
http://www.webmasterpoint.org/script/ASP/download_script_componenti/Forum/128/Forum.html
l'ho provato ma ho notato che presenta dei bug ad esempio, quando si risponde ad una discussione e successivamente si risponde nuovamente, cliccando su link "Elenco argomenti" esce fuori questo errore:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'IDCategoria ='.
/forum4/forumclotz/selarg01.asp, line 7
ripeto non essendo un esperto ho guardato il file selarg01.asp ma sembra apposto.
Qualcuno di voi avrebbe la pazienza di provarlo e dirmi dove stà l'errore ?Grazie !
p.s.
Io ho trovato questo script ma se qualcuno potrebbe consigliarmi qualche altro funzionante simile a questo mi farebbe cosa gradita (ho pure provato il snitz forum ma troppo complicato per le mi esigenze)
-
probabilmente manca un AND oppure un OR prima di IDCategoria
immagino che la query sia
"INSERT INTO .... () VALUES()..... WHERE ..... AND IDCategoria=........"Ciao
-
Sul file selarg01.asp al numero di riga incriminato è scritto così
strSQL="SELECT * FROM QArgomento WHERE IDCategoria = " & request.querystring("ID") & " ORDER BY Data Desc":?
-
probabilmente request.querystring("ID") è vuoto
magari fai un controllo prima di eseguire la querytipo:
if isnumeric(trim(request.querystring("ID") )) Then 'esegui query else 'messaggio di errore end if ```Ciao :ciauz:
-
Forse ti ho postato poco...ti invio qualche riga in +
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL="SELECT * FROM QArgomento WHERE IDCategoria = " & request.querystring("ID") & " ORDER BY Data Desc"
rs.Open strSQL,cn
Set objID=rs("ID")
Set objArgomento=rs("Argomento")
Set objData=rs("Data")
Set objNick=rs("Nick")
Set objnRisp=rs("nRisp")
if rs.EOF then
response.write("<h3>Spiacente, non e' stata fatta nessuna richiesta per questo argomento.</h3>")
else
dim pari 'booleano per identificare se siamo in una riga pari o in una dispari
pari = false
%>
-
hai provato ad inserire il codice che ti ho scritto?
-
Non so in quale posizione devo inserirlo !
-
prima di questa riga
strSQL="SELECT * FROM QArgomento WHERE IDCategoria = " & request.querystring("ID") & " ORDER BY Data Desc"
-
Ho provato....continua a darmi l'errore
-
mi sono espresso male io,
il codice che effettua la query lo devi inserire all'interno come ti ho scritto nell'esempio:
if isnumeric(trim(request.querystring("ID") )) Then
'esegui query
'QUI CI VA IL CODICEelse
'eventuale messaggio di errore
end if
-
Ho provato Legolas ad inserire il codice da te fornitomi solo che mi dà un'altro errore:> Microsoft VBScript compilation error '800a03f6'
Expected 'End'
/forum3/arg01.asp, line 21dove andando a vedere il file arg01 alla linea 21
ho quest'altro codice:<form>
<br><input type="button" class="corpo" onClick="location.href='argins.asp?ID=<%=request.querystring("ID")%>';" value="Nuovo Argomento" title="Inserisci un nuovo argomento">
</form>
-
bhe l'errore te lo da perchè si aspetta di trovare un end if
il codice ce ti ho dato lo devi adattare alle tue esigenze.
-
Legolas io ho scritto così:
<%
ID = request.queryString("ID")if len(ID) > 0 and isNumeric(ID) then
Set rs = Server.CreateObject("ADODB.Recordset")
if isnumeric(trim(request.querystring("ID") )) Then
'esegui querystrSQL="SELECT * FROM QArgomento WHERE IDCategoria = " & ID & " ORDER BY Data Desc" rs.Open strSQL,cn objID = rs("ID") objArgomento = rs("Argomento") objData = rs("Data") objNick = rs("Nick") objnRisp = rs("nRisp") if rs.EOF then response.write("<h3>Spiacente, non e' stata fatta nessuna richiesta per questo argomento.</h3>") else dim pari 'booleano per identificare se siamo in una riga pari o in una dispari pari = false end if
%>
non ho messo :
else
'eventuale messaggio di erroreperchè vi era già
Dimmi solo se va bene
-
-
<%
ID = request.queryString("ID")if len(ID) > 0 and isNumeric(ID) then
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL="SELECT * FROM QArgomento WHERE IDCategoria = " & ID & " ORDER BY Data Desc"
rs.Open strSQL,cn
objID = rs("ID")
objArgomento = rs("Argomento")
objData = rs("Data")
objNick = rs("Nick")
objnRisp = rs("nRisp")
if rs.EOF then
response.write("<h3>Spiacente, non e' stata fatta nessuna richiesta per questo argomento.</h3>")
else
dim pari 'booleano per identificare se siamo in una riga pari o in una dispari
pari = false
end if
End If
%>
-
Continua a darmi errore alla linea 58 cioè questo:
Microsoft VBScript compilation error '800a0400' Expected statement /forum3/selarg01.asp, line 58 end if ^
Questa è la pag selarg01.asp
<% Set cn = Server.CreateObject("ADODB.Connection") %> <!--#include file="frmOpencn.asp"--> <% ID = request.queryString("ID") if len(ID) > 0 and isNumeric(ID) then Set rs = Server.CreateObject("ADODB.Recordset") strSQL="SELECT * FROM QArgomento WHERE IDCategoria = " & ID & " ORDER BY Data Desc" rs.Open strSQL,cn objID = rs("ID") objArgomento = rs("Argomento") objData = rs("Data") objNick = rs("Nick") objnRisp = rs("nRisp") if rs.EOF then response.write("<h3>Spiacente, non e' stata fatta nessuna richiesta per questo argomento.</h3>") else dim pari 'booleano per identificare se siamo in una riga pari o in una dispari pari = false end if End If %> <table width="100%" cellpadding="1"> <tr align="left"> <td class="Testata"> Messaggio</td> <td class="Testata" align="center">Proposto da</td> <td class="Testata" align="center"><font size="-1"> Ultimo<br>aggiornamento</font></td> <td class="Testata" align="center"><font size="-1">N° Risposte</font></td> </tr> <% Do Until rs.EOF if pari then %> <tr class="rigapari"> <% else %> <tr class="rigadispari"> <% end if %> <td> <a href="msg01.asp?catID=<%=request.querystring("ID")%>&ID=<%=objID%>&argomento=<%=replace(objArgomento," ","%20")%>"><%=objArgomento%></a></td> <td align="center"><%=objNick%></td> <td align="center"><%= objData%></td> <td align="center"><%= objnRisp-1%></td> </tr> <% pari = not pari ' inverto il valore della variabile booleana rs.movenext loop %> </table> <% end if rs.close Set rs = nothing else response.write("<h3>Spiacente, non e' stato specificato un parametro valido.</h3>") end if cn.close Set cn = nothing %>
-
<% Set cn = Server.CreateObject("ADODB.Connection") %> <!--#include file="frmOpencn.asp"--> <% ID = request.queryString("ID") if len(ID) > 0 and isNumeric(ID) then Set rs = Server.CreateObject("ADODB.Recordset") strSQL="SELECT * FROM QArgomento WHERE IDCategoria = " & ID & " ORDER BY Data Desc" rs.Open strSQL,cn objID = rs("ID") objArgomento = rs("Argomento") objData = rs("Data") objNick = rs("Nick") objnRisp = rs("nRisp") if rs.EOF then response.write("<h3>Spiacente, non e' stata fatta nessuna richiesta per questo argomento.</h3>") else dim pari 'booleano per identificare se siamo in una riga pari o in una dispari pari = false %> <table width="100%" cellpadding="1"> <tr align="left"> <td class="Testata"> Messaggio</td> <td class="Testata" align="center">Proposto da</td> <td class="Testata" align="center"><font size="-1"> Ultimo<br>aggiornamento</font></td> <td class="Testata" align="center"><font size="-1">N° Risposte</font></td> </tr> <% Do Until rs.EOF if pari then %> <tr class="rigapari"> <% else %> <tr class="rigadispari"> <% end if %> <td> <a href="msg01.asp?catID=<%=request.querystring("ID")%>&ID=<%=objID%>&argomento=<%=replace(objArgomento,"20")%>"><%=objArgomento%></a></td> <td align="center"><%=objNick%></td> <td align="center"><%= objData%></td> <td align="center"><%= objnRisp-1%></td> </tr> <% pari = not pari ' inverto il valore della variabile booleana rs.movenext loop %> </table> <% end if rs.close Set rs = nothing else response.write("<h3>Spiacente, non e' stato specificato un parametro valido.</h3>") end if cn.close Set cn = nothing %>
-
Mi dà ancora errore questa volta qui:
<td> <a href="msg01.asp?catID=<%=request.querystring("ID")%>&ID=<%=objID%>&argomento=<%=replace(objArgomento,"20")%>"><%=objArgomento%></a></td> <td align="center"><%=objNick%></td> <td align="center"><%= objData%></td> <td align="center"><%= objnRisp-1%></td> </tr>
-
-
replace(objArgomento,"20")
la funzione replace vuole tre parametri obbligatori:
i parametri indicati tra parentesi sono opzionali
Replace(stringa, trova, sostituisci, (inizio), (conta), (tipoConfronto))