Ciao a tutti, sono alle mie prime esperienze con i database.. volevo sapere una cosa.. avrei bisogno nel visualizzare un messaggio di errore nel caso in cui il record nel database non fosse trovato.. questa è la funzione che si occupa di trovare nel database e di ritornare una stringa:
codice:public string trova_in_database(string comando) { // String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=C:\\db\\Comandi.mdb"; String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=Comandi.mdb"; OleDbConnection con = new OleDbConnection(connect); con.Open(); OleDbCommand cmd1 = con.CreateCommand(); int id = Convert.ToInt16(comando); cmd1.CommandText = "SELECT TOP 1 comando FROM Operazioni WHERE operazione = ?"; OleDbParameter p1 = new OleDbParameter(); cmd1.Parameters.Add(p1); p1.Value = id; OleDbDataReader reader = cmd1.ExecuteReader(); reader.Read(); MessageBox.Show("sono qui"); string operazione = reader.GetString(0); //FINE... return operazione }
La questione è che se io tento di trovare un valore che nel database non esiste il programma mi va in crash.. precisamente al punto:
codice:string operazione = reader.GetString(0);
e mi dice appunto che system.invalidoperationexception non è stata gestita.. ho provato con IF NOT EXIST nella query ma non è quello che voglio perchè mi seleziona l'ultima disponibile.. io invece vorrei un messaggio di errore.. grazie mille a tutti!!