Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Creare un sistema di ricerca a più criteri
domenica 02 luglio 2006 - 17.50
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Nicolaij
Profilo
| Newbie
5
messaggi | Data Invio:
dom 2 lug 2006 - 17:50
Ciao a tutti.
Ecco il mio problema.
Creo una dropdownlist, diciamo con due voci: Cognome, Nome
Ci metto difianco una text box e infine un bottone di invio.
Voglio fare in modo che l'utente, scegliendo un criterio (nome o cognome) dalla dropdownlist e inserendo nella textbox una stringa, ottenga come risultato i record della relativa tabella (su db sqlserver) uguali o simili, inseriti in una gridview.
Tutto questo sfruttando possibilmente l'uso del dataset e databind.
Spulciando qua e la ho tirato fuori qualcosa del genere ( questo codice è legato all'evento di invio del bottone di submit, id=invia)
Dim query As String
Dim StingaConnessione As String
StingaConnessione = "Server=localhost;uid=id;pwd=1234;database=nomeDB"
Dim DsetDati = New DataSet
Dim cnSqlDb As SqlClient.SqlConnection
cnSqlDb = New SqlClient.SqlConnection(StingaConnessione)
cnSqlDb.Open()
Fino a qui nulla di strano, connetto al db e apro la connessione
Ora genero la parte della query che varia a seconda della selezione del criterio, dall'omonimo campo dropdownlist ( valore è invece il nome della textbox)
Select Case (criterio.Text)
Case "cognome
Dim where As String = "WHERE ([COGNOME] LIKE + valore + '%')"
Case "peso"
Dim where As String = "WHERE ([INDIRIZZO] LIKE + valore + '%')"
End Select
query = "SELECT [COGNOME], [INDIRIZZO] FROM IMPIEGATI + where"
Arrivati a questo punto sono più che certo che al sintassi della query sqlserver non stia nemmeno un po' in piedi per quanto riguarda l'inserimento di variabili all'interno di essa....Come sarebbe in forma corretta? :(
Dim DAdapter As New SqlClient.SqlDataAdapter(query, cnSqlDb)
DAdapter.Fill(DsetDati, "IMPIEGATI")
Riempito il dataset con i dati della tabella ho trovato qualcosa del genere su internet che cmq mi da errore poichè ListaTest non è dichiarato ( e nn saprei come dichiararlo).
ListaTest.DataSource = DsetDati.Tables("IMPIEGATI")
ListaTest.DataBind()
End Sub
Come diavolo si crea un legame ( un bind?) tra quanto sopra e la gridview che dovrebbe riportare i risultati?
Grazie, ciao a tutti :)
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
dom 2 lug 2006 - 23:35
112_WhereCondizionale.zip
Ciao!
per fare prima ti ho postato un semplice mio esempio..
spero faccia al caso tuo..
ciao!
PS: ListaTest, una volta messo a designer, se è il tuo GridView, deve esistere..
Oppure hai sbagliato nome del GridView..
Alx81 =)
http://blogs.dotnethell.it/suxstellino
Torna su
Stanze Forum
Elenco Threads
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 !