Problemi con il like nel dataset

martedì 03 luglio 2007 - 16.35

trinity Profilo | Guru

salve ragazzi,
io ho creato una winform che nella sua load carica in un dataset dei dati di una tabella comuni.

poi ho creato un codice che quando l'operatore scrive sulla textbox il comune, ad ogni lettera che digita il programma effettua una ricerca tramite like all'interno della tabella del dataset e qui tutto funzioan correttamente:

ecco il codice di ricerca:

Private Sub caricacomune(ByVal comune As String) REM ========================================================================= REM ESEGUO IL CONTROLLO CON IL LIKE SU UNA TABELLA DI UN DATASET IN MODO TALE REM DA LAVORARE IN LOCALE SENZA ESEGUIRE QUERY IN REMOTO REM========================================================================== Dim myrow() As DataRow = Comuni.Select("Comune LIKE '" & comune.Replace("'", "''") & "%'") If myrow.Length <> 0 Then Me.TextBox7.Text = CType(myrow(0)("Comune"), String) Me.Label21.Text = CType(myrow(0)("Prov"), String) If CType(myrow(0)("CodiceComune"), String).Length = 4 Then Me.Label12.Text = CType(myrow(0)("CodiceComune"), String).Substring(0, 1) ElseIf CType(myrow(0)("CodiceComune"), String).Length = 5 Then Me.Label12.Text = CType(myrow(0)("CodiceComune"), String).Substring(0, 2) ElseIf CType(myrow(0)("CodiceComune"), String).Length = 6 Then Me.Label12.Text = CType(myrow(0)("CodiceComune"), String).Substring(0, 3) End If Me.TextBox7.SelectionStart = comune.Length Me.TextBox7.SelectionLength = Me.TextBox7.TextLength - comune.Length Else Me.Label21.Text = String.Empty Me.Label12.Text = String.Empty End If End Sub

ora però mi sono accorto che all'interno della tabella del database che viene caricata all'inzio nel dataset ci posso no essere due record che hanno lo stesso nome comune ma provincia diversa, quando accade una cosa del genere vorrei che nel codice sopracitato venisse fatto uscire un datagrid che carica i due record... ho provato così:


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

solo che nel datagrid mi carica sempre e solo il primo record che ottengo con il like ma me lo fa vedere due volte perchè alla fine lo stesso like mi individua la presenza di 2 record(giusto)

come posso fare?

ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

munissor Profilo | Senior Member

Invece di inserire i record a mano utilizza l'array di DataRow come DataSource del tuo DataGridView..

trinity Profilo | Guru

Come scusa
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5