RecordCount e Select Count

  • Creatore Discussione Creatore Discussione azure81
  • Data di inizio Data di inizio

azure81

Utente Attivo
19 Set 2008
37
0
0
Ciao, ho provato a cercare qualcosa di utile per risolvere il mio problema ma senza risultati.
Allora ho una homepage che contiene un menu con un elenco di categorie popolato dinamicamente. Cliccando su ognuna di esse tramite il parametro id arrivo a una pagina di sottocategorie popolata dinamicamente, dove si trova l'elenco corrispondente alla categoria. Da qui con lo stesso criterio si arriva alle voci di dettaglio di ogni sottocategoria.
Io ho bisogno di avere accanto a ogni voce di dettaglio il numero di annuncio per quel dettaglio di categoria, presenti nel mio database. Ho inserito questo codice:


Codice:
<a href="annCategorie.asp?dettaglio=<%=(dettagli.Fields.Item("Dettaglio").Value)%>"><%=(dettagli.Fields.Item("Dettaglio").Value)%></a>( 

<% 
Dim conta_det 
conta_det = "1" 
If (Request.QueryString("Dettaglio") <> "") Then 
  conta_det = Request.QueryString("Dettaglio") 
End If 
%> 
<% 

Dim Recordset, connection 
Dim count, sSQL, sConnString 


sSQL="SELECT * FROM Annunci where dettaglio="  + Replace(conta_det, "'", "''") + "" 


Set Connection=Server.CreateObject("ADODB.Connection") 
Set Recordset=Server.CreateObject("ADODB.Recordset") 


sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _ 
"Data Source=" & Server.MapPath("mdb-database/database.mdb") 


Connection.Open(sConnString) 


Recordset.Open sSQL,connection,3,3 

count=Recordset.recordcount 

response.write count 


Recordset.Close 
Set Recordset=Nothing 
Connection.Close 
Set Connection=Nothing 
%> 
)



Quando vado ad eseguirlo mi da questo errore:

Tipo di errore:
Microsoft JET Database Engine (0x80040E14)
Errore di sintassi (operatore mancante) nell'espressione della query 'Dettaglio = Amplificatori audio'.


La linea incriminata è:
Recordset.Open sSQL,connection,3,3


Allora la seconda parte di codice(<% Dim Recordset...) l'ho presa da una guida su internet. Funziona tutto ma quando vado a specificare il WHERE mi da errore.
Io avrei bisogno di dirgli che deve recuperare il valore del dettaglio della categoria inserito dinamicamente e cercare nel db all'interno della tabella annunci quali sono gli annunci che nel campo dettaglio hanno quel determinato valore, contarli e scriverlo accanto ad ogni dettaglio di categoria. Sto chiedendo troppo lo so. Ma ho bisogno di inserirlo.

Spero di essere stata chiara. Grazie.
 
Ciao, ho provato a cercare qualcosa di utile per risolvere il mio problema ma senza risultati.
Allora ho una homepage che contiene un menu con un elenco di categorie popolato dinamicamente. Cliccando su ognuna di esse tramite il parametro id arrivo a una pagina di sottocategorie popolata dinamicamente, dove si trova l'elenco corrispondente alla categoria. Da qui con lo stesso criterio si arriva alle voci di dettaglio di ogni sottocategoria.
Io ho bisogno di avere accanto a ogni voce di dettaglio il numero di annuncio per quel dettaglio di categoria, presenti nel mio database. Ho inserito questo codice:


Codice:
<a href="annCategorie.asp?dettaglio=<%=(dettagli.Fields.Item("Dettaglio").Value)%>"><%=(dettagli.Fields.Item("Dettaglio").Value)%></a>( 

<% 
Dim conta_det 
conta_det = "1" 
If (Request.QueryString("Dettaglio") <> "") Then 
  conta_det = Request.QueryString("Dettaglio") 
End If 
%> 
<% 

Dim Recordset, connection 
Dim count, sSQL, sConnString 


sSQL="SELECT * FROM Annunci where dettaglio="  + Replace(conta_det, "'", "''") + "" 


Set Connection=Server.CreateObject("ADODB.Connection") 
Set Recordset=Server.CreateObject("ADODB.Recordset") 


sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _ 
"Data Source=" & Server.MapPath("mdb-database/database.mdb") 


Connection.Open(sConnString) 


Recordset.Open sSQL,connection,3,3 

count=Recordset.recordcount 

response.write count 


Recordset.Close 
Set Recordset=Nothing 
Connection.Close 
Set Connection=Nothing 
%> 
)



Quando vado ad eseguirlo mi da questo errore:

Tipo di errore:
Microsoft JET Database Engine (0x80040E14)
Errore di sintassi (operatore mancante) nell'espressione della query 'Dettaglio = Amplificatori audio'.


La linea incriminata è:
Recordset.Open sSQL,connection,3,3


Allora la seconda parte di codice(<% Dim Recordset...) l'ho presa da una guida su internet. Funziona tutto ma quando vado a specificare il WHERE mi da errore.
Io avrei bisogno di dirgli che deve recuperare il valore del dettaglio della categoria inserito dinamicamente e cercare nel db all'interno della tabella annunci quali sono gli annunci che nel campo dettaglio hanno quel determinato valore, contarli e scriverlo accanto ad ogni dettaglio di categoria. Sto chiedendo troppo lo so. Ma ho bisogno di inserirlo.

Spero di essere stata chiara. Grazie.

//------------------------------------------------
//prova a scrivere la risposta della sSql
Response.Write(sSQL)
Response.Flush()
//------------------------------------------------
 

Discussioni simili