[errore] Too few parameters. Expected 1

sabato 03 luglio 2010 - 18.21

Gabriele85 Profilo | Newbie

salve a tutti...sto completando un progetto dell'università per l'esame di tecnologie del web...
nn vi sto a dire con tante parole che devo fare: creare una pagina in asp vbscript in cui metto 3 combobox (materie, classi, alunni) in cui successivamente un fantomatico docente può inserire un giudizio...

l'errore scritto come titolo mi viene fuori riguardo questa stringa

Set sqlAlunno = cn.Execute ("SELECT * FROM Persone INNER JOIN Scolaresche ON Persone.ID_Persona = Scolaresche.ID_Persona WHERE ID_Classe = '&idclasse&'")

la tabella persone contiene tutti i dati anagrafici delle persone
la tabella scolaresche contiene id_classe (identificativo di una certa classe) e id_persona (identificativo della persona su Persone)

inolte ho a disposizione la tabella tipologiaPersona in cui id_persona viene associato ad un certo tipo_persona (nel mio caso sono tutti dello stesso tipo: alunni)

a parte l'errore che mi da, nn riesco a capire dove sia il problema, vorrei chiedervi anche come posso fare per, dopo aver selezionato una certa classe nella prima combobox, nella seconda combo selezionare soltanto gli alunni appartenenti a quella classe (prendendo dalla tabella scolaresche) e stampare sulla combo quindi solo i cognomi e i nomi di quelle persone

grazie 1000 a chi mi vorrà aiutare!
ps: se avete bisogno di altre informazioni, chiedete ovviamente ^^

alx_81 Profilo | Guru

>salve a tutti...sto completando un progetto dell'università per
>l'esame di tecnologie del web...
Ciao e benvenuto su dotnethell.it!


>a parte l'errore che mi da, nn riesco a capire dove sia il problema,
hai scritto male la sintassi della concatenazione:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Stai attento perchè in questo modo sei preda facile di attacchi di tipo sql injection.

>vorrei chiedervi anche come posso fare per, dopo aver selezionato
>una certa classe nella prima combobox, nella seconda combo selezionare
>soltanto gli alunni appartenenti a quella classe (prendendo dalla
>tabella scolaresche) e stampare sulla combo quindi solo i cognomi
>e i nomi di quelle persone
ci sono vari modi. Intanto utilizzare asp è un tantino obsoleto ai nostri giorni, ma credo sia una requisito tecnico dell'università.
Puoi farlo in vari modi. Il più semplice è quello di gestire l'evento onchange della combo "madre" e passare il parametro in submit alla stessa pagina.
Questo parametro sarà utilizzato da una ulteriore query che ricava, in base al primo filtro, i record che lo rispettano.
Ma questo impone alla pagina di essere ricaricata.
Se non hai tante informazioni, vi è una soluzione meno prestante, ma che richiede conoscenza di javascript ed array. Il procedimento sta nel caricare "tutto" ciò che serve in array per poi filtrarli al cambiamento del valore della prima combo. Però se hai tante info è pesante caricare tutto.
Una ulteriore soluzione è quella di usare ajax per caricare in asincrono. Ma anche qui devi avere conoscenze di javascript ed in generale del framework che userai per gestirlo. E' sicuramente la più elegante anche da vedere, potresti far comparire un loading mentre chiedi i dati a partire dalla prima combo. Ma sicuramente ti servono conoscenze di ajax e javascript.

>grazie 1000 a chi mi vorrà aiutare!
di nulla!

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5