Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    VB.NET "Errore non specificato"

    Sto lavorando su un applicativo in VB.NET,spesso il programma si blocca sulla stringa di connessione (mi connetto ad un database Access).
    Il problema è che mi dà un errore che non so come risolvere: mi potete dare una dritta?

    L'errore è : "Run-time exception thrown : System.Runtime.InteropServices.COMException - Unspecified error"


    La function dove si blocca è :

    Public Function CreateRecordset(ByVal Stringa As String, ByVal Path As String) As ADODB.Recordset

    'dichiarazione delle variabili
    Dim objConn As ADODB.Connection = New ADODB.Connection() 'oggetto di connessione
    Dim objRecordset As ADODB.Recordset = New ADODB.Recordset() 'oggettto recordset

    'apro la connessione
    objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Dat a Source= " & Path & ";Persist Security Info=False")

    'apro il recordset ed eseguo la stringa
    objRecordset.Open(Stringa, objConn)
    'distacco il recordset

    'creo il recordset locale
    CreateRecordset = objRecordset

    'distruggo gli oggetti
    objConn = Nothing
    objRecordset = Nothing

    End Function

    si blocca sulla open della connessione!
    ....se mi dice errore non specificato come lo risolvo?
    Grazie anticipatamente,

    Stefy

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    ciao stefy...

    per cercare di ottenere + info dall'errore prova a mettere la riga dove lanci la connessione in un blocco Try Catch

    fai

    Try
    Riga incriminata
    Catch ex as Exception
    msgbox ex.message
    end Try

    e prova a vedere se ti dice qualcosina in +

    a volte potrebbe essere anche un errore nella stringa di connessione o in un comando SQL


  3. #3
    P.S. Io utilizzo (ancora) il caro e vecchio VB6
    ma credo che il codice che ti posto funziona anche con il .NET

    on error resume next 'salta l'errore
    on error goto error_numb ' se si verifica un errore salta all'etichetta "error_numb" dove puoi gestire l'errore.

    es:

    error_numb:
    Text1 = Err.Number 'visualizzi il numero UNIVOCO dell'errore
    Text2 = Err.Description

    if Text1 = "023" then
    'fai qualcosa
    elseif text1 = "234" then
    'fai qualcos'altro
    end if

    DOMANDA:

    e strano che il tuo programma a volte si connette al DB
    ed altre no... il database si trova sul tuo PC?

  4. #4
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    johnny, quella sintassi credo non vada + bene per il .NET, adesso esiste quella che ho postato io, molto + potente e flessibile

    anche se dovesse andare la sconsiglio vivamente...

  5. #5
    Il problema è che io non utilizzo (ancora) il .NET

  6. #6
    Intanto grazie per aver risposto ma non ci siamo: vi spiego ho già fatto la gestione degli errori(Catturo il numero dell'errore e poi visualizzo tramite un msgbox la descrizione dell'errore!)

    Il PROBLEMA è che la descrizione dell'errore restituita è proprio

    "UNSPECIFIED ERROR!!" .....POSSO DIRE UNA PAROLACCIA?

    Per essere più chiara :se l'errore restituito fosse "Sintax error"
    io saprei dove e come risolvere l'errore,ma (..e ditemi se ho torto) se la descrizione è quella scritta sopra Come c.. faccio a gestire l'errore???

    Insomma non siete daccordo con me?


    ....tra l'altro questa connessione la faccio all'interno di un ciclo e funziona per i primi 15-16 cicli poi si blocca ....AIUTO!!!

  7. #7
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    [supersaibal]Originariamente inviato da stefaniaR

    ....tra l'altro questa connessione la faccio all'interno di un ciclo e funziona per i primi 15-16 cicli poi si blocca ....AIUTO!!! [/supersaibal]
    bip bip bip bip oops...come come?

    non è che per caso mandi in pallala memoria?

    bisogna stare attenti quando si richiama + volte la stessa funzione all'interno di un ciclo, potrebbe scapparti di mano la ricursione ed incappare in un overflow dello stack.

    se funziona singolarmente, allora il codice è corretto. Devi ricontrollare la logica cha stai adoperando

    okkio!

  8. #8
    Forse dico una cavola**

    prova a togliere

    'objConn = Nothing
    'objRecordset = Nothing

    SE NON FUNZIONA!!!

    P.S. come già detto non conosco VB.NET
    ma prova a inserire sopra alla riga di connessione al DB questo codice VB6

    On Error GoTo CATTURA_ERRORE

    CATTURA_ERRORE:

    text1 = Err.Number

    SE NON FUNZIONA NEMMENO QUESTO!!!


  9. #9
    Scusa PERCHE'?

    Non ti è mai capitato di scorrere una structure e per ogni elemento di questa fai un accesso ai dati?

    Aiutami a capire,
    Stefy

  10. #10
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    da questo:

    System.Runtime.InteropServices.COMException

    deduco che sia un problema lanciato dal Jet Engine, visto che scatta una eccezzione dell'oggetto COM.

    Quindi devi vedere cosa succede nel ciclo.

    nel blocco try che ti dicevo prima, anzichè mettere ex as Exception

    metti ex as System.Runtime.InteropServices.COMException

    e vedi se ex.message è sempre lo stesso

    cmq adesso do un'occhiata sulla MSDN in ufficio e ti faccio sapere se trovo qualcosa



    @ Johnny:

    aridaje

    non ha senso gestire gli errori con quella sintassi in VB.NET, è tutta un altra cosa :gren:

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.