9 messaggi dal 20 gennaio 2009
Salve, ho eseugito il seguente script preso da un manuale ASP, che è il seguente:

<html>
<head>
<title>Musica da Discoteca</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<center>
<TABLE border="0" width="400">
<TR bgcolor="#000000">
<TD width="25%"><center><b><font color="#FFFFFF">Id</font></b></center></TD>
<TD width="25%"><center><b><font color="#FFFFFF">Titolo Canzone</font></b></center></TD>
<TD width="25%"><center><b><font color="#FFFFFF">Dee Jay</font></b></center></TD>
<TD width="25%"><center><b><font color="#FFFFFF">Durata (Sec)</font></b></center></TD>
</TR>

<%
' Apertura del Database e creazione recordSet
dim strCode
strCode="innovatel"
dim intVolta
intVolta="0"
Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("musica.mdb")
strConn=strConn & ";pwd=" & strCode
Conn.Open strConn

sql = "SELECT * FROM canzoni"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3

' Ordinamento in base al nome del Dee Jay
rs.sort = "deejay"

'Mostro a video il RecordSet ordinato
do while not(rs.eof)
if intVolta="1" then
intVolta="0"
intTesto="#00FF99"
intSfondo="#FFFF00"
else
intVolta="1"
intTesto="#FFFF99"
intSfondo="#33CCFF"
end if
%>
<TR bgcolor="<%=intSfondo%>">
<TD width="25%"><%=rs(0)%></TD>
<TD width="25%"><%=rs(1)%></TD>
<TD width="25%"><%=rs(2)%></TD>
<TD width="25%"><%=rs(3)%></TD>
</TR>
<%
rs.movenext
loop
' Chiudo il RecordSet ed il relativo database
rs.Close
set rs = Nothing
conn.Close
set conn = Nothing
%>
</TABLE>
</center>
</body>
</html>

ed ottengo il seguente errore:
ADODB.Recordset error '800a0cb3'

Il provider corrente non supporta le interfacce necessarie per l'ordinamento o il filtraggio.

/prove1/musica.asp, riga 34 --> rs.sort = "deejay"
ma se faccio l'interrogazione del db col seguente codice sql (ommettendo il metodo sort per l'ordinamento dell'oggetto Recordset)
sql = "SELECT * FROM canzoni ORDER BY deejay", naturalmente non ottengo alcun tipo di errore. Quindi, da cose dipende quel errore utilizzando il metodo sort? Ringrazio anticipatamente per avermi tolto questa mia curiosità! Mi piacerebbe ovviamente risolvere questo problema...
Modificato da pinnuzzo il 24 marzo 2009 23.10 -
9 messaggi dal 20 gennaio 2009
Facendo riferimento al seguente sito: http://www.stardeveloper.com/articl...701&page=1, il problema l'ho risolto nel seguente modo:

<% Option Explicit %>

<html>
<head>
<title>Musica da Discoteca</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<center>
<TABLE border="0" width="400">
<TR bgcolor="#000000">
<TD width="25%"><center><b><font color="#FFFFFF">Id</font></b></center></TD>
<TD width="25%"><center><b><font color="#FFFFFF">Titolo Canzone</font></b></center></TD>
<TD width="25%"><center><b><font color="#FFFFFF">Dee Jay</font></b></center></TD>
<TD width="25%"><center><b><font color="#FFFFFF">Durata (Sec)</font></b></center></TD>
</TR>


<%
dim intVolta,intTesto, intSfondo
intVolta="0"
Sub ShowRec(qc1, qc2, qc3, qc4, intSfondo)

response.Write "<TR bgcolor="&intSfondo&">"
response.Write "<TD width='25%'>"&qc1&"</TD>"
response.Write "<TD width='25%'>"&qc2&"</TD>"
response.Write "<TD width='25%'>"&qc3&"</TD>"
response.Write "<TD width='25%'>"&qc4&"</TD>"
response.Write "</TR>"
End Sub

' Putting the values of ADO constants
'Const adCmdTableDirect = &H0200
Const adLockReadOnly = 1
Const adOpenStatic = 1
Const adUseClient = 3


Dim connStr
connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
Server.MapPath("musica.mdb")

Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")

rs.CursorLocation = adUseClient
rs.Open "canzoni", connStr, adOpenStatic, adLockReadOnly 'adCmdTableDirect


' Moving the record pointer to the beginning

'Now sorting according to the field "name"
rs.Sort = "deejay"

While Not rs.EOF

if intVolta="1" then
intVolta="0"
IntTesto="#00FF99"
intSfondo="#FFFF00"
else
intVolta="1"
intTesto="#FFFF99"
intSfondo="#33CCFF"
end if

ShowRec rs("id"), rs("titolo_canzone"), rs("deejay"), rs("durata"), intSfondo
rs.MoveNext
Wend
' Moving the record pointer to the beginning

rs.Close
Set rs = Nothing
%>

</TABLE>
</center>
</body>
</html>

Così funziona
Modificato da pinnuzzo il 19 aprile 2009 18.12 -

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.