Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Errore di run-time di Microsoft VBScript error '800a000d'

    Salve a tutti

    ho un semplice script che legge le ultime 30 discussioni del mio forum, mostrandomi nome della discussione, ultimo utente che ha postato e data ed ora dell'ultimo post

    lo script funziona perfettamente in locale mentre in remoto ottengo l'errore

    Errore di run-time di Microsoft VBScript error '800a000d'

    Tipo non corrispondente

    /site/ultime_dal_forum(ex_query_database).asp, line 49

    lo script si trova a questa pagina

    http://www.ioguadagno.it/site/ultime_dal_forum(ex_query_database).asp

    il codice è il seguente

    codice:
    'apriamo la connessione col database
    	dim strsql2
    	strsql2 = "SELECT * FROM phpbb_topics as t ORDER BY t.topic_last_post_time DESC LIMIT 30"
    
    'estrarre informazioni dalla tabella
    	dim objrs
    	set objrs = server.createobject("adodb.recordset")
    	objrs.open strsql2, objconn
    
    'visualizzare le informazioni
    	do while not objrs.eof
    		response.write "[img][/img]<a href=""http://forum.ioguadagno.it/board/viewtopic.php?p=" & objrs("topic_last_post_id") & "#" & objrs("topic_last_post_id") & """ class=""tnlink"" target=""_blank"" title=""" & objrs("topic_title") & """ onMouseOver=""return overlib('<div align=justify class=tn>Ultimo intervento di:
    " & objrs("topic_last_poster_name") & " il " & day(dateadd("h",2, unUDate(objrs("topic_last_post_time")))) & " " & MonthName(datepart("m",dateadd("h",2, unUDate(objrs("topic_last_post_time"))))) & " alle " & datepart("h",dateadd("h",2, unUDate(objrs("topic_last_post_time")))) & ":" & minuto(minute(dateadd("h",2, unUDate(objrs("topic_last_post_time"))))) & "</div>', WIDTH, 250);"" onMouseOut=""nd();"">" & objrs("topic_title") & "</a>
    "
    		objrs.movenext
    	loop
    	objrs.close
    	set objrs = nothing
    
    		objconn.close
    		set objconn=nothing
    	
    %>
    ciò che in remoto fa impazzire lo script e genera l'errore è il seguente campo

    objrs("topic_last_poster_name")

    ovvero il nome dell'ultente che per ultimo ha postato nella discussione. se rimuovo la visualizzazione di questo campo lo script funziona bene anche in remoto

    da phpmyadmin vedo che il campo topic_last_poster_name è un varchar(255)

    possibili soluzioni?

    grazie

  2. #2
    bha...

    phpbb... in asp? divertente

    quello che non capisco è il perchè usi la select con "phpbb_topics as t"
    ...
    è l'unico coinvolgimento "strano" (e che cambiaerei) che vedo nel tuo quote...

    mi spiace non esserti più utile

    Edit: a dire il vero la scriverei anche con i " ` "

    codice:
    "SELECT * FROM `phpbb_topics` ORDER BY `topic_last_post_time` DESC LIMIT 30"
    Grazie sempre di tutto!!!
    Alberto

  3. #3
    ho tolto il t (era presente perchè prima la query era più complessa) ma non è cambiato nulla.

    aggiungendo gli apici vengono visualizzati altri errori

    al momento mi viene in mente niente se non che in locale ho mysql 4 e in remoto il 5

    boh

  4. #4
    ho risolto

    applicando cstr al campo objrs("topic_last_poster_name") ho notato che venivano visualizzati dei punti interrogativi quindi ho capito che il problema era relativo al charset

    la soluzione quindi è usare response.binarywrite invece che response.write

    la riga diventa quindi

    codice:
    		response.write "[img][/img]<a href=""http://forum.ioguadagno.it/board/viewtopic.php?p=" & objrs("topic_last_post_id") & "#" & objrs("topic_last_post_id") & """ class=""tnlink"" target=""_blank"" title=""" & objrs("topic_title") & """ onMouseOver=""return overlib('<div align=justify class=tn>Ultimo intervento di:
    "
    		response.binaryWrite objrs("topic_last_poster_name")
    		response.write " il " & day(dateadd("h",2, unUDate(objrs("topic_last_post_time")))) & " " & MonthName(datepart("m",dateadd("h",2, unUDate(objrs("topic_last_post_time"))))) & " alle " & datepart("h",dateadd("h",2, unUDate(objrs("topic_last_post_time")))) & ":" & minuto(minute(dateadd("h",2, unUDate(objrs("topic_last_post_time"))))) & "</div>', WIDTH, 250);"" onMouseOut=""nd();"">" & objrs("topic_title") & "</a>
    "
    in pratica, ho diviso in 3 quella che prima era una singola riga response.write

  5. #5
    binarywrite?? ma il server.htmlEncode non funzionava?

    codice:
    response.write server.htmlEncode(testo)
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Originariamente inviato da netmoney
    aggiungendo gli apici vengono visualizzati altri errori
    so che non c'entra niente... ma per curiosità... quali?
    Grazie sempre di tutto!!!
    Alberto

  7. #7
    Originariamente inviato da Santino83_02
    binarywrite?? ma il server.htmlEncode non funzionava?

    codice:
    response.write server.htmlEncode(testo)
    no, non funziona. a posto dei ???? appaiono dei quadratini usando server.htmlEncode

  8. #8
    Originariamente inviato da ^ohiaia^
    so che non c'entra niente... ma per curiosità... quali?
    usando

    codice:
    strsql2 = "SELECT * FROM 'phpbb_topics' ORDER BY 'topic_last_post_time' DESC LIMIT 30"
    l'errore è

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

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''phpbb_topics' ORDER BY 'topic_last_post_time' DESC LIMIT 30' at line 1

    /site/ultime_dal_forum(ex_query_database).asp, line 44

  9. #9
    togli gliapici singoli da dentro la stringa sql

  10. #10
    Originariamente inviato da optime
    togli gliapici singoli da dentro la stringa sql
    ti consiglio di leggere la discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.