lo so che esistono le query. Ti faccio un riassunto completo: ho un DB sqlserver express creato direttamente da visual basic express 2008.
All'interno di questo DB ho una tabella clienti strutturata in questa maniera:
Per quanto riguarda VB2008 ho un form che si chiama frmClienti che contiene:codice:idcliente: chiave primaria di tipo numerico. Identità ragionesociale: campo not null di tipo text piva: campo null di tipo integer cf: campo null di tipo text
- 1 datagridview: TblClienteDataGridView
- 2 textbox: txtcodicecliente, txtragionesociale
- 2 button: btnRicercaCodiceCliente, btnRicercaRagioneSociale
- 1 classe linq: dominopro.dbml
Ora, quando vado ad inserire un qualunque codice cliente, quindi un dato numerico la seguente porzione di codice:
Mi restituisce esattamente il cliente relativo al codice inserito, mentre se non inserisco nessun codice mi va in eccezione e restituisce il msgbox.codice:Dim codicecliente As Integer Dim dpdc As New dominoproDataContext Try codicecliente = txtCodiceCliente.Text Dim risultato = From tblCliente In dpdc.tblCliente Where tblCliente.idcliente = codicecliente Select tblCliente TblClienteDataGridView.DataSource = risultato txtCodiceCliente.Clear() Catch ex As Exception MsgBox("ERRORE! E' necessario inserire almeno un codice", MsgBoxStyle.Exclamation) End Try
La faccenda si complica quando mi trovo a dover cercare delle stringhe di testo, della serie "mario rossi".
Il codice all'interno del btnCercaRagioneSociale è questo:
Se lo mando in esecuzione ecco che compare il famoso errore oggetto del post. Ora, ho pensato di modificare il tipo di dato di ragione sociale, modificando il codice in questa maniera:codice:Dim dpdc As New dominoproDataContext Dim risultato As String Dim ragionesociale As String ragionesociale = txtRagioneSociale.Text Label1.Text = ragionesociale risultato = From tblCliente In dpdc.tblCliente Where tblCliente.ragione_sociale = ragionesociale Select tblCliente TblClienteDataGridView.DataSource = risultato txtRagioneSociale.Clear()
e così non genera l'errore, però non mi estrae i dati che mi interessano. Quindi, alla luce di tutto ciò, come faccio da codice a ricercare una stringa di testo contenuta nel DB e gestita tramite LINQ?codice:Dim risultato As System.Linq.IQueryable(Of DominoPRO.tblCliente)

Rispondi quotando