16 messaggi dal 21 agosto 2002
Ciao ragazzi...ho un problema che proprio non riesco a risolvere, vi spiego subito:

Ho creato un sistema che visualizza le ultime 10 news inserite all'interno di un database (data e titolo). Cliccando sul titolo si va in un'altra pagina dove vengono mostrati tutti i dettagli della news correlata in un secondo momento, per evitare al lettore di passare dall'home page ho creato un terzo file asp simile a quello che elenca le 10 rece e l'ho inserito trammite l'include nella pagina del dettagli...mi viene fuori questo errore:

Errore di run-time di Microsoft VBScript (0x800A000D)
Tipo non corrispondente: 'rs'
/test/news.asp, line 203

Il file Include è questo:

<%
set conn=server.createobject("adodb.connection")
conn.open "Driver={Microsoft Access Driver (*.mdb)}; dbq=" & server.mappath("data/data.mdb")
sql="select top 10 * from news order by data desc"
set rs=server.createobject("adodb.recordset")
rs.open sql, conn, 1, 3
%>
<% if rs.eof = false then %>
<% for x = 1 to 10 %>

<table width="248" border="0" cellpadding="0" cellspacing="0" bgcolor="EBEBEB">
<tr>
<td width="10" align="center" valign="middle">&nbsp;</td>
<td width="240" rowspan="2" class="newsgenere"><%=rs("data")%><br> <a href="include/news.asp?id=<%=rs("id")%>&sid=<%=session.sessionid%>" class=linkattivo><%=mid(rs("titolo"), 1, 70) & "..."%></a>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<% rs.movenext %>
<% if rs.eof then exit for %>
<% next %>
<% end if %>
<%
rs.close
conn.close
set rs=nothing
set conn=nothing
%>

Mentre la pagina asp che visulaizza i risultati l'ho messa in formato testo su questo url:

http://www.diemmepi.it/test/rece.html

AIUTOOOOOOOOOOOOOOOO!!!!!!!!!
751 messaggi dal 03 maggio 2002
www.albain.com
Potresti indicare la riga in cui ti viene dato l'errore?
E' nella riga dell'include o dov'altro?

 Tutto si può fare, quando si stà per affogare si impara a nuotare
16 messaggi dal 21 agosto 2002
Rivettazzo ha scritto:
Potresti indicare la riga in cui ti viene dato l'errore?
E' nella riga dell'include o dov'altro?


La riga dell'errore è nella pagina che mi genera il dettaglio news (news.asp) non nell'include

Ho pensato che il problema potrebbe essere causato da:
<%
rs.close
conn.close
set rs=nothing
set conn=nothing
%>
presente sia nell'include che nel file news.asp e ho tolto rs.clos set rs=nothing ma così facendo la pagina viene caricata ma quando il server incontra la prima query al database del dettaglio news presente in news.asp mi viene restituito l'errore

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/test/news.asp, line 199

Ma l'elenco delle 10 news viene caricato!

2.907 messaggi dal 15 maggio 2001
Contributi
Prima osservazione : Il codice è un macello  .... non nel senso che è complesso ma nel senso che è mal strutturato ed abbonda.....
L'errore può venire dal fatto che cerchi di utilizzare l'oggetto rs quando ormai è già stato chiuso o "distrutto"....
ti consiglio di dare nomi differenti alle varie connessioni e ai vari oggetti.... l'errore potrebbe dipendere anche da questo....

Il <% session.lcid=1040 %> va inserito ad inizio pagina ..

etc...
16 messaggi dal 21 agosto 2002
rome ha scritto:
Prima osservazione : Il codice è un macello  .... non nel senso che è complesso ma nel senso che è mal strutturato ed abbonda.....


Azzz come faccio a "ripulirlo"?
2.907 messaggi dal 15 maggio 2001
Contributi
Le prime cose che mi vengono in mente :

1) Scrivi meno codice possibile
2) Usa meno connessioni possibili al database
3) Quando è necessario dai nomi differenti a connessioni e a oggetti

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.