PDA

View Full Version : [ASP] Richiamare dati da un db


fulviettino
27-06-2006, 12:54
Ciao a tutti!
Desidereri effettuare una query di lettura dati con asp.
Per ora che sto facendo delle prove il mio db (access) è composto da una sola tabella (Tabella1) con il campo Nome.
L'idea è di avere un menu a tendina contenente il nome dei campi presenti nella tabella (per ora è uno solo poi ne aggiungerò altri).
Poi un campo editabile dove poter inserire il valore da ricercare con la query.
Seguendo un pò alcuni esempi presenti in rete ho fatto una pagina "chiedimi.asp" contenente il menu' a tendina e una editbox (dichiarata così Response.Write "<input type='text' name='nome'>"). Poi un'altra pagina "rispondimi.asp" che lancia la query leggendo i campi dal menù a tendina e dalla editbox. I problemi che ho sono i seguenti


non riesco a "popolare" il menù a tendina con il nome dei campi della tabella

nella pagina "rispondimi.asp" non riesco a richiamare la query; facendo nel seguente modo

rsQuery.Source = "SELECT * FROM Tabella1 WHERE Nome = " & Request.Form("nome")
rsQuery.Open

visualizzo questo errore

Script error detected at line 28.
Source line: rsAnagrafica.Open()
Description: [Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 1.


Se invece la lancio direttamente con il valore visualizzo il risultato correttamente

rsQuery.Source = "SELECT * FROM Tabella1 WHERE Nome = 'Paperino' "
rsQuery.Open


Mi dareste qualche dritta ?

mynos79
27-06-2006, 13:07
rsQuery.Source = "SELECT * FROM Tabella1 WHERE Nome = '" & Request.Form("nome") & "'"
rsQuery.Open
Prova agiungendo anche le virgolette come ti ho evidenziato in rosso ...

fulviettino
27-06-2006, 13:29
Che pirla :muro:
Grazie mille.
Per il menù a tendina niente?
Lo implemento così:

<select name="select_campo">
<option>Campo 1</option>
<option>Campo 2</option>
<option>Campo 3</option>
</select>

Ma non riesco ad inserire i valori dinamicamente a seconda del nome dei campi della tabella...
:wtf:

camillozzo
27-06-2006, 16:18
<select name="cittadinanza">

<option value="0" selected></option>
<%set cittadinanza=curric.execute("select id, nome from cv_s_stati order by nome")

do while not cittadinanza.eof
if isnull(rs("cittadinanza")) then
a=102
else
a=rs("cittadinanza") & ""'0
end if
b=cittadinanza(0)
%>
<option value="<%=cittadinanza(0)%>"<%if strcomp(a,b)=0 then%> selected<%end if%>><%=trim(cittadinanza(1))%>
<%
cittadinanza.movenext
loop
cittadinanza.close
set cittadinanza=nothing
%>
</select>

Qui avevo usato un array per caricare le due cose, sennò puoi tralasciare la parte di array e mettere nel value della option il recordset con il nome del campo che ti interessa

fulviettino
28-06-2006, 12:28
<select name="cittadinanza">

<option value="0" selected></option>
<%set cittadinanza=curric.execute("select id, nome from cv_s_stati order by nome")

do while not cittadinanza.eof
if isnull(rs("cittadinanza")) then
a=102
else
a=rs("cittadinanza") & ""'0
end if
b=cittadinanza(0)
%>
<option value="<%=cittadinanza(0)%>"<%if strcomp(a,b)=0 then%> selected<%end if%>><%=trim(cittadinanza(1))%>
<%
cittadinanza.movenext
loop
cittadinanza.close
set cittadinanza=nothing
%>
</select>

Qui avevo usato un array per caricare le due cose, sennò puoi tralasciare la parte di array e mettere nel value della option il recordset con il nome del campo che ti interessa

:wtf: