Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    17

    messaggio di record non trovato con Access e C#.. Come?

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

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Fai un controllo

    codice:
    if(reader.Read())
    {
      ....
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Proseguiamo questa discussione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.