Controllare il risultato di una SELECT

domenica 18 giugno 2006 - 16.14

VESUSS Profilo | Newbie

Ciao come va, sto cercando di fare un piccolo programma in c# che lavoro con un database che contiene una tabella con i dati di tutti i dipendenti di un'azienda, ogni dipendente è identificato da un codice. L'utente che gira il mio programma dovrebbe inserire in una txtbox il codice di un dipendente e attraverso una select visualizzare i vari dati, nel caso in cui il codice digitato non esiste il programma lascia tutti i vari campi vuoti, io vorrei gestire questa situazione magari con un messaggio che il codice inserirto non esiste, ma come fare a controllare il risultato della select???
Questa è la mia select generata con VS2005, "Chapa" è il nome della colonna dove controllo il codice del dipendente:

oleDbDataAdapter1.SelectCommand.Parameters["Chapa"].Value = textBox4.Text;
oleDbDataAdapter1.Fill(dataSet11);



Grazie mille ciao!

arresto Profilo | Junior Member

Ciao come va, sto cercando di fare un piccolo programma in c# che lavoro con un database che contiene una tabella con i dati di tutti i dipendenti di un'azienda, ogni dipendente è identificato da un codice. L'utente che gira il mio programma dovrebbe inserire in una txtbox il codice di un dipendente e attraverso una select visualizzare i vari dati, nel caso in cui il codice digitato non esiste il programma lascia tutti i vari campi vuoti, io vorrei gestire questa situazione magari con un messaggio che il codice inserirto non esiste, ma come fare a controllare il risultato della select???
Questa è la mia select generata con VS2005, "Chapa" è il nome della colonna dove controllo il codice del dipendente:

oleDbDataAdapter1.SelectCommand.Parameters["Chapa"].Value = textBox4.Text;
oleDbDataAdapter1.Fill(dataSet11);


RISPOSTA

Il risultato della select sarà memorizzato in una tabella (la tabella di indice 0 dal breve codice allegato non avendo eseuito un mapping) eventualmente priva di righe se la select non ha prodotto risultato e non si sono generate eccezioni.

Per cui ti sarà sufficiente controllareil numero di righe della tabella ed operare di consegurnza; se da quello che scrivi il codice dipendente è unico allora puoi fare ancora di meglio; in corrispondenza di un numero superiore ad 1 di cifre sicuramente vi è un qualche problema allora solleverai un'eccezione

Codice di esempio a seguire

if(dataSet11.Tables[0] != null) { switch(dataSet11.Tables[0].Rows.Count) { case 0: //Codice non trovato; mostra ilmessaggio di cui parli break; case 1: //Codice trovato: avvalora i campi della form o della pagina break; default: //Occorrenza multipla: qualche errore; solleva un'eccezione break; } } else { //Solleva un'eccezione }


Spero di esserti stato di aiuto e Ar(p)resto

VESUSS Profilo | Newbie

Grazie mille in fin fine era una cosa molto semplice! Pensavo qlc di più complicato :) oppure ad una eccezzione cose del genere! Grazie ancora come sempre siete sempre di grande aiuto!!!

luighandi Profilo | Newbie

scusate ragazzi...

quando inserisco questa riga di codice:

AdapterUtente.SelectCommand.Parameters ["Nome"].Value = label1.Text;
AdapterUtente.Fill(dataSet11.Utente);

dovrebbe visualizzarmi nel dataset la selezione...
invece mi restituisce questo errore:

System.IndexOutOfRangeException: OleDbparameterCollection non contiene OleDbParameter 'Nome'.

Che cosa posso fare??
dove ho sbagliato??
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