Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [VB.NET] - Debug che non si blocca su errore OLEDB

    E' da un po che ho sto problema però non ho mai pensato di risolverlo! Oggi mi son rotta!

    In sostanza...io mi connetto a un db Access tramite ADO.NET usando le librerie:

    system.data.oledb

    Quando commetto qualche errore in quel settore (che so metto come nome campo mioCimpo invece che mioCampo) invece che interrompersi il debug e dirmi che errore ho commesso si interrompe la lettura del codice successivo all'errore e mi lancia l'applicazione di debug come se nulla fosse

    E' normale? devo impostare qualcosa?
    Me lo fa solo per questo tipo di errori se faccio alche schifezze di norme interrompe la lettura sull'errore e me lo segnala

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Sinceramente sarà la panza piena ma non ho capito un granché....
    Sbagliare è umano, perseverare è diabolico.

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Ahahah Pire! Tu mangi troppo! :P

    Mi spiego meglio!

    Metti il caso che sul mio Database Access ho una tabella dove uno dei campi si chiama "nome".

    Se io commettessi un errore di battitura nel codice e invece che scrivere "nome" scrivessi "nime" quando vado a eseguire il codice VB.Net invece che cercare il campo "nome" mi cercherà il campo "nime". Quest'ultimo però non esiste quindi mi creerà un'eccezione! A quel punto il debug dovrebbe interrompersi e generarmi un avviso. Che so: "Field "nime" not found".

    Insomma le solite interruzioni che il debug ti fa quando c'è un'eccezione! Invece non lo fa! Ignora tutto il codice successivo all'eccezione (non lo esegue dunque) e lancia l'applicazione come se non ci fossero state eccezioni! Io me ne accorgo perchè non eseguendo il codice successivo vedo che mancano un sacco di cose (tipo le listbox non sono popolate ecc ecc).

    Il fatto è che questo accade solo quando ho a che fare col Database (al quale accedo con ADO.Net usando gli oggetti OLEDB della classe system.Data) mentre se commetto errori al di fuori di questo ambito (tipo se sbaglio il nome di una chiamata a una funzione) me lo segnala subito senza problemi!

    Credo ci sia qualcosa da impostare nelle opzioni (suppongo anzi) ma non ho mai trovato nulla per quello ho posto il problema a voi più esperti!

    Spero di essermi spiegata meglio sta volta!

    Baci!

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Originariamente inviato da Veronica80
    Ahahah Pire! Tu mangi troppo! :P
    Lo so, ma sono ancora in forma.


    Mi spiego meglio!

    Metti il caso che sul mio Database Access ho una tabella dove uno dei campi si chiama "nome".

    Se io commettessi un errore di battitura nel codice e invece che scrivere "nome" scrivessi "nime" quando vado a eseguire il codice VB.Net invece che cercare il campo "nome" mi cercherà il campo "nime". Quest'ultimo però non esiste quindi mi creerà un'eccezione! A quel punto il debug dovrebbe interrompersi e generarmi un avviso. Che so: "Field "nime" not found".

    Insomma le solite interruzioni che il debug ti fa quando c'è un'eccezione! Invece non lo fa! Ignora tutto il codice successivo all'eccezione (non lo esegue dunque) e lancia l'applicazione come se non ci fossero state eccezioni! Io me ne accorgo perchè non eseguendo il codice successivo vedo che mancano un sacco di cose (tipo le listbox non sono popolate ecc ecc).

    Il fatto è che questo accade solo quando ho a che fare col Database (al quale accedo con ADO.Net usando gli oggetti OLEDB della classe system.Data) mentre se commetto errori al di fuori di questo ambito (tipo se sbaglio il nome di una chiamata a una funzione) me lo segnala subito senza problemi!

    Credo ci sia qualcosa da impostare nelle opzioni (suppongo anzi) ma non ho mai trovato nulla per quello ho posto il problema a voi più esperti!

    Spero di essermi spiegata meglio sta volta!

    Baci!
    Si ora che ho abbondantemente digerito ho capito ma comunque non riesco a darti una risposta finchè non scrivi il codice in cui si non si verifica l'eccezione.

    Sbagliare è umano, perseverare è diabolico.

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Alloooraaaaa!

    Io uso ado.net e datareader! Non ho un codice vero e proprio in cui si verifica l'eccezione...è così per tutti i codici associato ai controlli OLEDB!

    Ti faccio un esempio!

    Mi connetto al database:

    codice:
    'questa la metto fuori dalla classe ovviamente
    Imports System.Data.OleDb
    
    'questa è dentro la classe (non ho voglia di incollare tutto il codice del modulo :D)
    Public Cn As New OleDbConnection
    Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB: Database Password=xiao; Data Source="C:\mioDB.mdb"
    Cn.Open()
    Ora io ho messo come password "xiao" mentre la vera pass del DB è "ciao" in questo caso non mi genera errori, semplicemente mi avvia l'applicazione in debug senza problemi ma tutto il codice successivo a questo qui su viene ignorato. (si interrompe il la lettura della "testina" del lettore delle righe diciamo)

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.