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!!