Salve,
dopo essere passato da Access a MySQL, ho riscontrato moltissimi problemi con la paginazione dei dati contenuti nel database MySQL.
Ho seguito le indicazioni contenute in varie guide reperite su internet, ma anche queste sembrano sbagliare e comunque non riesco proprio a comprendere quale sia l'errore.
Di seguito il listato con gli script in asp che ho usato.
L'errore riguarda la linea "pageSize = 30" (ma se pagesize non si può usare con MySQL, perchè tutte le guide - compreso un articolo su freeasp.html.it - lo usano?!?) ed è il seguente "Microsoft VBScript compilation (Ox800A0408) Invalid Character".
Grazie a chiunque voglia aiutarmi.
codice:<% dim letteraindice letteraindice=Request.QueryString ("lettera") dim pagina pagina = Cint(request.querystring("pag")) if pagina<=0 then pagina=1 Set adoCon = Server.CreateObject("ADODB.Connection") adoCon.ConnectionString = "server=localhost;db=database;uid=root;pwd=innovatel;driver={MySQL ODBC 3.51 Driver}" adoCon.Open SQLcount = "SELECT COUNT(archivio.gruppo) AS totale FROM archivio WHERE gruppo LIKE '" & letteraindice & "%'" Set adoRstCount=adoCon.Execute(SQLcount) ________pageSize = 30 ________' Quanti records per pagina ________inizio = (pagina - 1) * pageSize ________' il primo record di ogni pagina ________totali = Cint(adoRstCount("totale")) ________' Quanti records abbiamo estratto dalla query ________NumPagine = totali/pageSize ________' Quante pagine abbiamo ottenuto ________' L'if successivo serve ad arrotondare per eccesso il numero di pagine ________' nel caso in cui ottenessimo un numero decimale ________' ad esempio 20 records da distribuire in 6 pagine ________If NumPagine-Cint(NumPagine) > 0 Then ________________NumPagine = Cint(NumPagine+1) ________Else ________________NumPagine = Cint(NumPagine) ________End If ________ adoRstCount.Close Set adoRstCount=Nothing adoCon.Close Set adoCon = Nothing %> ' qui inizia la pagina e c'è il solito html <% ' Collegamento Database Set adoConn = Server.CreateObject("ADODB.Connection") adoCon.ConnectionString = "server=localhost;db=database;uid=root;pwd=innovatel;driver={MySQL ODBC 3.51 Driver}" adoCon.Open sql="SELECT * FROM archivio WHERE gruppo LIKE '" & letteraindice & "%' LIMIT '" & inizio & ", " & PageSize & "%' ORDER BY gruppo" Set adoRst=adoCon.Execute(sql) if totali > 0 then ________for i=1 to PageSize ________________if adoRst.eof<>true and adoRst.bof<>true then %> <TR> <TD width="50%" bgcolor="#363D45"><%=rs(3)%></TD> <TD width="50%" bgcolor="#363D45"><%=rs(1)%> <font color="#FFAC00"><% if RS("settimana") = "si" then Response.Write ("SPOTLIGHTS ON") end if %></font> </TD> </TR> <% adoRst.movenext ________________end if ________next ________Else ________________Response.write("Nessun record trovato") end if %> <tr align="right" valign="top" bgcolor="#363D45"> <td colspan="4"> <% If totali > PageSize AND NumPagine > pagina then ________________Response.write("Pagina successiva ") ________End If ________If pagina > 1 then ________________Response.write(" Pagina precedente") ________End If adoRst.close Set adoRst=Nothing adoCon.Close Set adoCon=Nothing %> ' poi la pagina finisce

Rispondi quotando