Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    33

    [VB2005]Lettura tabella access

    Ciao a tutti,
    ho bisogno di leggere dei campi di una tabella access. Il seguente codice mi sembra logicamente corretto ma il compilatore re stituisce un errore nell'eseguire l'ultima istruzione:Riferimento a un oggetto non impostato su un'istanza di oggetto.

    Dim cn As System.Data.OleDb.OleDbConnection
    Dim cmd As System.Data.OleDb.OleDbDataAdapter
    Dim ds As New System.Data.DataSet()
    Dim toyotaRow() As System.Data.DataRow

    cn = New System.Data.OleDb.OleDbConnection("provider=Micros oft.Jet.OLEDB.4.0;" & _
    "data source=" & mdbName)
    cn.Open()
    cmd = New System.Data.OleDb.OleDbDataAdapter("Select * from Toyota", cn)
    Try
    cmd.Fill(ds)
    Catch ex As Exception
    MessageBox.Show("Impossibile aprire dB")
    Finally
    cn.Close()
    End Try

    toyotaRow = ds.Tables("cmd").Select()

    A me sembra tutto ok..voi cosa dite?

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Il riferimento non impostato è alla tabella "cmd" contenuta nel dataset.....

    Prova così:

    cmd.Fill(ds,"cmd")
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    33
    Grazie Mille, funziona.
    Cmq sulla documentazione, nell'elenco degli overload per il metodo .fill ci sono le seguenti opzioni:

    OleDbDataAdapter.Fill (DataSet)
    OleDbDataAdapter.Fill (DataTable)
    OleDbDataAdapter.Fill (DataSet, String)
    ..............

    Nella prima, che ho utilizzato in precedenza, avevo indicato solo il data set da riempire e avevo esplicatato il comando durante la creazione del Data Adapter

    cmd = New System.Data.OleDb.OleDbDataAdapter("Select * from Toyota", cn)

    ....non pensavo bisognasse ripetere il nome della tabella a cui si vuole accedere nella .Fill

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    No, non devi mettere il riferimento ad una tabella del db.
    Il dataset rappresenta in tutto e per tutto una sorta di database.
    Quindi dentro ci sono tabelle, righe, foreign keys....

    Ad ogni tabella del dataset devi dare un nome.
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    33
    Ok, sei stato chiaro..Grazie mille

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.