[VB 2008] ricerca su DB e risultato su DataGrid

mercoledì 04 febbraio 2015 - 11.27

mdnet Profilo | Newbie

Buongiorno, ho scritto questa piccola routine per visualizzare in un datagrid tutti i record contenuti in una tabella di Access che corrispondano al contenuto del textbox ricerca, però mi genera sempre un errore, ed essendo un NON esperto, sto impazzendo.

Esattamente in questa riga: myDA.Fill(myDataSet, tbNominativi) mi genera l'errore: OleDbException non è stata gestita


La mia routine è questa:

Dim Ricerca
Ricerca = txtRicerca.Text

Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.jet.oledb.4.0;data source=c:\Temp\data.mdb;")
Dim cmd As OleDbCommand = New OleDbCommand("Select * FROM tbNominativi where nominativo'" & Ricerca & "'", con)
con.Open()
Dim myDA As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim myDataSet As DataSet = New DataSet()
myDA.Fill(myDataSet, tbNominativi)
DataGridView1.DataSource = myDataSet.Tables("tbNominativi").DefaultView

con.Close()
con = Nothing

AntCiar Profilo | Expert

Ciao.

Come errore è strano. Non mi è mai capitata una cosa del genere.

prova così:

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

ciao ciao
Cristian Barca

mdnet Profilo | Newbie

Ciao, mi da lo stesso identico errore nella stessa riga

OleDbException non è stata gestita
Errore di sintassi (operatore mancante) nell'espressione della query 'nominativo'diam''

AntCiar Profilo | Expert

>Errore di sintassi (operatore mancante) nell'espressione della
>query 'nominativo'diam''


E' un problema della query.
Cosa hai scritto nella textbox di ricerca?

Manca il segno di confronto

nominativo = '" & ricerca & "'"

poi ti conviene non utilizzare l'apice singolo per filtrare perchè se in ricerca ci metti un valore tipo "dell'angelo" ti va in errore.

puoi sostituire con questo

WHERE nominativo = " & chr(34) & ricerca & chr(34)



Cristian Barca

jekisi Profilo | Senior Member

Per la ricerca guarda questo, vedi se ti può essere utile, le query sono fatte sul dataset.

mdnet Profilo | Newbie

Fatta questa modifica - WHERE nominativo = " & chr(34) & ricerca & chr(34) - e funziona.

Grazie
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