Ho generato un Dataset utilizzando un semplice xsd.
Questo dataset deriva da una query abbastanza complessa, query
che mette in join 4 tabelle.
Oltre al dataset utilizzo un factory per istanziare un DataAdapter.
Questa classe factory ritorna l'interfaccia IDbDataAdapter associata al DataAdapter (OleDb, Odbc...) istanziato. Quale tipo istanziare viene determinato attraverso delle configurazioni in modo da poter utilizzare nella stessa applicazione tutti i possibili tipi.. sia per DataAdapter che per i command i parameter ecc..
Il problema sorge quando cerco di eseguire il metodo Fill del data adapter passandogli il dataset. Per l'interfaccia IDbDataAdapter esiste un solo metodo Fill(DataSet ds), mentre per i vari tipi (OleDb,Odbc..) i metodi sono molti di più, in particolare Fill(DataSet ds,String tblName).
Se cerco di utilizzare l'interfaccia e quindi il metodo Fill con un solo argomento non vengono sollevate eccezioni, ma il dataset non viene popolato. Castando il data adapter al tipo corretto ed eseguendo il metodo Fill con i due argomenti tutto fila liscio e viene popolato.
Mi sapete spiegare che accade? e soprattutto... come posso eseguire il Fill partendo solo dall'interfaccia IDbDataAdapter?? Esiste un modo alternativo per specificare il nome della/e tabella/e prima di invocare il Fill??
please help me.
Credo che il linguaggio sia indifferente.. cmq .. C#.
tnx!!