Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117

    Problema metodo fill di un dataadapter

    Ho un problema nel fill di un dataadapter.... la cosa strana è che lo stesso
    codice su un'altra pagina funziona correttamente

    DsDati = new DataSet();

    SqlCommand myCommandProgetti = new SqlCommand("sp_get_stato", conn);

    myCommandProgetti.Parameters.Add(new SqlParameter("@Codice",
    ddlCodice.SelectedValue));
    myCommandProgetti.Parameters.Add(new SqlParameter("@Cod",
    ddlCod.SelectedValue));
    myCommandProgetti.CommandType=CommandType.StoredPr ocedure;
    SqlDataAdapter DataAdatpProgetti = new
    SqlDataAdapter(myCommandProgetti);
    DataAdatpProgetti.Fill(DsDati, "Progetti");

    conn.Close();


    nel fill ottengo questo errore

    exc.Message "Fill: SelectCommand.Connection property has not been
    initialized." string

    Dove sbaglio?

    Grazie

  2. #2
    conn come è dichiarata ? è dichiarata in una posizione visibile da questo codice ?
    Non avere problemi è un problema.

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Non è per niente strano che quel codice, in una pagina funzioni, in questa, no. Magari lì apri la connessione, qui, no.

    Ti consiglio di farti una funzione di libreria che ti restituisca un DataTable, un DataView o un DataSet.
    Per esempio, con la funzione di sotto, io non ho usato mai più il metodo fill, l'ho proprio dimenticato, ed ha sempre funzionato (e per sempre intendo proprio sempre)
    codice:
        Public Overloads Function GetDataTable(ByVal stringaConnessione$, ByVal stringaSQL$) As DataTable
    
            Try
                'creo un nuovo DataAdapter
                Dim DataAdapter As New OleDbDataAdapter(stringaSQL, stringaConnessione)
    
                'creo un DataTable e lo riempio con i dati
                Dim DataTable As New DataTable
                DataAdapter.FillSchema(DataTable, SchemaType.Source)
                DataAdapter.Fill(DataTable)
    
                Return DataTable
    
            Catch Errore As Exception
                Throw
                Return Nothing
            End Try
    
    
        End Function
    Ti fai più funzioni in Overloads, dove, per esempio, al posto di stringaConnessione, passi la connessione oppure l'oggetto Comand.

    Ciao
    Pietro

  4. #4
    Originariamente inviato da pietro09

    Ti consiglio di farti una funzione di libreria che ti restituisca un DataTable, un DataView o un DataSet.
    ciao pietro09, scusa la banalità della mia domanda, ma è poco tempo che sperimento le asp.net... mi potresti spiegare come faccio a far diventare la funzione da te postata in una "funzione di libreria"?

    te ne sarei molto grato, visto che anche io ho avuto lo stesso problema sollevato da valeria75 ed ho risolto solamente ricreando la connessione e tutti gli oggetti ad essa necessari


  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Io uso Visual Studio e creo un progetto di libreria di classi. Senza Visual Studio, non saprei. Mi dispiace.
    Pietro

  6. #6
    Ci sono vari modi..

    Uno di questi e' fare una classe con relativo namespace, contenente tutte le funzioncine che ti servono e poi importare questo nelle pagine...

    Io per esempio ho fatto una classe che ho chiamato Tools dove ho messo appunto tanti metodi (le funzioni) SHARED...
    (cioe' non devi scrivere Dim objNomeClasse as New nomeclasse)

    ...

    oppure puoi fare una classe di Code-Behind con tutte le funzioni dalla quale fai ereditare le pagine che necessitano di usarle...
    Non avere problemi è un problema.

  7. #7
    grazie per la risposta

    fortunatamente per me, anche io uso VS: ora provo questa possibilità.

    un ultima cosa: quando ho creato questa libreria, come faccio ad usare le funzioni contenute in essa?


    ancora ciao

    [edit]
    scusate tutti ops:
    non avevo letto la risposta di Ciko2005... mi sembra un buon metodo questo! grazie ancora a tutti!
    [/edit]

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 © 2026 vBulletin Solutions, Inc. All rights reserved.