Newsgroup: it.comp.www.asp
Titolo: Informazione SQL

Salve a tutti vi pongo questo quesito.
Devo efettuare una ricerca su un campo descrizione che viene effettuata da
un form in un'altra pagina.
Il forma è formato da un campo testo chiamata "descr" che una volta inserita
la parola da trovare me la manda in un secondo file chiamato risultato.asp.
Che si connette la database effettua il controllo sul form per vedere se c'è
stata richiesta e dopo mi trova la parola nel campo "descrizione" della mia
tabella fatta in ACCESS.
Ho un proble ovvero che non mi funziona il seguente pezzo di codice cioè
qualunque parola inserisco nel form non mi da nessun risultato anzi mi da un
errore.
Pezzo di codice per la ricerca che non va
<%
Dim rsaccount
' Connect to DataBase
directory = server.MapPath (".")
strConn = directory & "../account.mdb"
strProvider="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & strConn& ";"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strProvider,"",""
IF Request.Item("Op") = "S" Then
      session("descr")=request.form("descr")
end if
Dim CheckVuoto
Dim CondWhere
CondWhere = "WHERE "
'Controllo se e' vuoto o meno il form di ricerca
CheckVuoto = -1
If (session("descr") <> "") then
 CondWhere=CondWhere & " (Upper(Descrizione) like '%" & (session("descr")) &
"%'"
 CheckVuoto=0
else
 CondWhere=CondWhere & "  (Descrizione like '%' or Descrizione is null)"
end if
if CheckVuoto = 0 then
 ' Creazione della stringa in SQL per la tabella METADATA_IDENTIFICAZIONE
 SQL = ""
 SQL = SQL & "SELECT * "
 SQL = SQL & "  FROM AggSito "
 SQL = SQL & CondWhere
 Response.write(SQL)
' Creazione del recordSet
 set rsrisultato = conn.Execute(sql)
End If
%>
Sapete darmi qualche suggerimento?
Distinti saluti
EDO

Prova ad usare * al posto di %.

 ha scritto nel messaggio
news:8j7hue$8ls$1...@fe1.cs.interbusiness.it...


Purtroppo Paolo aveva ragione ma non mi restiutsce nulla nel senso che con
il carattere % non mi arrivava neanche ad eseguire l'SQL mentre provandola
con Access e poi in ASP il carattere * funziona ma non mi restituisce nulla
ma esegue l'SQL che sarebbe:
SELECT * FROM AggSito WHERE ((Descrizione) like '*MOTORI*')
Mi sapete dire perchè esegue l'SQL ma non mi trova nulla anche se dopo ci
faccio un While sul campo TITOLO e DESCRIZIONE o un IF rs.eof then?
Aspetto notizie



Il primo * deve rimanere gli altri no
prova:
 SELECT * FROM AggSito WHERE ((Descrizione) like '%MOTORI%')
Ciao Marco.

 Ho prvato sia con * che con % ma non mi da nessun risultato tranne il
response.write(SQl) che è:
SELECT AggSito.Titolo, AggSito.Sito, AggSito.Descrizione FROM AggSito WHERE
(((AggSito.Descrizione) like '%MOTORI%'))
 mentre con * è
SELECT AggSito.Titolo, AggSito.Sito, AggSito.Descrizione FROM AggSito WHERE
(((AggSito.Descrizione) like '*MOTORI*'))
Non so più come fare dato che la select è giusta ma anche se dopo ci
inserisco un while per visualizzare il contenuto del risultato non mi da
nulla.


Semplificando al massimo:
SELECT Titolo,Sito,Descrizione FROM AggSito WHERE Descrizione like
'%MOTORI%'
Non funzia?

Non funziona con % dato che uso ACCESS e non Oracle ma non va neanche con *
E' un bel casino dato che ho anche Oracle e con il % lo stesso file con i
dovuti cambiamenti alla connessione va benissimo.
CIAO


 Usando ODBC il carattere jolly non è * ma %!!!!!!!!
Si, bravo prof.....
e secondo te questa è una connessione ODBC ???


 ha scritto nel messaggio
news:8jce43$4dt$1...@fe1.cs.interbusiness.it...


No ma ci sarà comunque modo per fare funzionare questa SELECT?


Appunto, è OLEDB for ODBC!!!
Allora ho fatto una prova ed effettivamente il carattere jolly da
utilizzare, come affermava Glauco e come supponevo in un post del 21
(mancata funzionalità LIKE...forse era sempre il tuo) che il buon moderatore
mi ha 'segato', è il % in quanto il provider converte la sintassi.
Appurato ciò , xchè non vai per esclusione?
Prova una sintassi 'statica' e vedi cosa succede

>Non funziona con % dato che uso ACCESS e non Oracle ma non va neanche con *
E chi lo ha detto?
Utilizzo da mesi i database access con tutti i comandi possibili e tutto
funziona alla perfezione con i "%" nella pagine ASP.
Se non ti restituisce nulla la query vuol dire che non esiste nessuna
stringa nel campo "descrizioni" con all'intero la parola "motori".

 ha scritto nel messaggio
news:8jcvpo$1u7$1...@fe1.cs.interbusiness.it...
