Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    170

    [VB.NET] Dichiarazione Array Oggetto

    Salve, vorrei dichiare un array che posside al proprio interno una serie di database, però Visual Studio continua a darmi errore e non riesco a capire dove sbaglio. Il codice che uso è il seguente all'interno di una mia classe:

    codice:
            Private DB(1) As Object
            DB(0) As New OleDb.OleDbConnection(DBSystemString)
    L'errore me lo da nella seconda riga

  2. #2
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    Non devi dichiararne il tipo (as) ma assegnarli un valore (=).

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    170
    Ho copiato male, nel progetto ho messo "=" tuttavia l'errore continua ad esserci..., mi dice "dichiarazione prevista".

  4. #4
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    L' errore, suppongo, sia dato dal fatto che hai scritto le due righe subito dopo la dichiarazione della classe, se è così il valore della variabile devi assegnarlo nella stessa riga di dichiarazione o in una Sub.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    170
    Si, ho fatto come hai detto, però, corregendo non funziona ancora, anche se la dichiarazione è corretta.
    codice:
        Public Class MngDB
    
            Private DBSystemString As String = "Mia Stringa"
    
            Private DB = New Object(0) {New OleDb.OleDbConnection(DBSystemString)}
    
            Public Function Query(ByVal inter As String)
                Dim result As New OleDb.OleDbDataAdapter(inter, DB(0))
                Return result
            End Function
    
        End Class
    In quello superiore mi da errore su "Dim result" dicendomi: "Risoluzione dell'overload non riuscita perché nessun 'New' accessibile può essere chiamato senza una conversione verso un tipo di dati più piccolo"

    Mentre quello sotto senza array funziona perfettamente
    codice:
        Public Class MngDB
    
            Private DBSystemString As String = "Mia Stringa"
    
            Private test As New OleDb.OleDbConnection(DBSystemString)
    
            Public Function Query(ByVal inter As String)
                Dim result As New OleDb.OleDbDataAdapter(inter, test)
                Return result
            End Function
    
        End Class

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non sono sicuro di aver capito bene ma vuoi qualcosa del genere

    codice:
        Private DBSystemString As String = "Mia Stringa"
    
        Private DB() As OleDb.OleDbConnection
    
        Public Function Query(ByVal inter As String)
            DB(0) = New OleDb.OleDbConnection(DBSystemString)
    
            Return New OleDb.OleDbDataAdapter(inter, DB(0))
        End Function
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    170
    Si grazie, così funziona perfettamente anche se preferivo assegnare la variabile nella dichiarazione.


    Facendo il test nell'applicazione mi da un errore per NullReferenceException quando vado ad assegnare a DB(0) la nuova connessione

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da world war
    Si grazie, così funziona perfettamente anche se preferivo assegnare la variabile nella dichiarazione.
    Se usi un array, non puoi ...

    Facendo il test nell'applicazione mi da un errore per NullReferenceException quando vado ad assegnare a DB(0) la nuova connessione
    Cioè? Codice? Linea dell'errore?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    170
    Pensavo si potesse fare...

    comunque il codice è identico a quello che ha postato (tranne la stringa!!!) e l'errore me lo da nell'assegnazione cioè in

    codice:
    DB(0) = New OleDb.OleDbConnection(DBSystemString)

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Lascia stare gli array ... usa un oggetto List molto più comodo

    codice:
        Dim DB As New List(Of OleDb.OleDbConnection)
    
        Public Function Query(ByVal inter As String)
            DB.Add(New OleDb.OleDbConnection(DBSystemString))
            
            Return New OleDb.OleDbDataAdapter(inter, DB.Last)
        End Function
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.