+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Connessione Oracle senza errori

  1. #1
    Headphone non è in linea Scolaretto
    Post
    164

    Connessione Oracle senza errori

    Buongiorno a tutti,
    da ieri sto facendo alcune prove con VB.NET e Oracle. Prove molto semplici (lettura tabelle), ma mi succede una cosa molto strana. Vi inserisco del codice che funziona (all'apertura di una form, seleziono un campo da una tabella in cui il codice contenga "GABRIELE" e mi manda a video un messaggio per ogni OGGETTO trovato... quindi mi apre la form).
    codice:
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim L_ocConnessione As New OracleConnection(G_sStringaConnessione)
            Dim L_ocComando As New OracleCommand
            L_ocConnessione.Open()
            L_ocComando.Connection = L_ocConnessione
            L_ocComando.CommandText = "select OGGETTO from ACME1.TABELLA where CODICE LIKE '%GABRIELE%'"
            L_ocComando.CommandType = CommandType.Text
            Dim L_odReader As OracleDataReader = L_ocComando.ExecuteReader()
            L_odReader.Read()
            While L_odReader.Read()
                MsgBox(L_odReader.Item("OGGETTO"))
            End While
            L_ocConnessione.Dispose()
        End Sub
    La cosa che non mi torna è che se sbaglio qualcosa nel comando per Oracle, non mi viene nessuna eccezione.
    Mi spiego meglio: se scrivessi "nel mezzo del cammin di nostra vita" come L_ocComando.CommandText, l'esecuzione mi arriva alla riga Dim L_odReader As OracleDataReader = L_ocComando.ExecuteReader(), quindi, invece che darmi l'errore che mi aspetterei, salta tutte le righe successive e mi apre direttamente la form.
    Io lo voglio l'errore!!!! Perché non succede niente?
    E' una impostazione di Visual Studio?
    Grazie

  2. #2
    L'avatar di Eleatico
    Eleatico non è in linea Novello
    Luogo
    Eboli
    Post
    48
    Da un controllo rapido con vb.10 e con access a me vengono sollevate eccezioni sia se mancano i comandi tipici nel commandtext(es. select , insert....etc), sia se manca la tabella nel database per cui penso sia un problema di oracle. Se così fosse, mi permetto di suggerire di controllare L_odReader.hasrows prima del ciclo while...wend in modo da avere una qualche idea di cosa fare prima dell'apertura della form.

  3. #3
    Headphone non è in linea Scolaretto
    Post
    164
    Il suggerimento sarebbe giusto se non fosse che se mettessi il controllo "hasrows" sarebbe dopo aver scatenato ExecuteReader().
    Se la stringa di comando è errata, l'esecuzione esce immediatamente dalla sub senza errori (saltando di netto le righe che stanno dopo, quindi anche il controllo hasrows).
    Inoltre hasrows mi direbbe che la query non ha generato nessun risultato o meno, ma non mi direbbe il perché... Ed io ho bisogno di sapere se ho scritto male un comando, anziché un campo non esiste, ecc...
    Anche io ho pensato che possa essere un qualcosa relativo ad Oracle, ma non vedo perché escire dalla sub senza dire niente...
    Insomma: per una volta voglio gli errori!!!

  4. #4
    Luogo
    Lazio
    Post
    1,596
    Blogs
    21
    Quote Originariamente inviato da Headphone Visualizza il messaggio
    Insomma: per una volta voglio gli errori!!!
    ti succede anche se lo esegui in modalità Release invece che Debug ?
    Ciao sspintux
    ------------------------------------------------------------

    O Santo Protettore dell'informatico quadratico medio, se puoi allontana da me questo cetriolo amaro!
    Azz! ... questo è un grande porck-around; potremmo addirittura farlo passare per una funzionalità avanzata

  5. #5
    Headphone non è in linea Scolaretto
    Post
    164
    Quote Originariamente inviato da sspintux Visualizza il messaggio
    ti succede anche se lo esegui in modalità Release invece che Debug ?
    Purtroppo questa cosa succede in entrambe le modalità

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi