Come popolare un set di dati di file host dall'adattatore dati

Il set di dati è una rappresentazione dei dati residenti in memoria che fornisce un modello di programmazione relazionale coerente indipendente dall'origine dati. Il set di dati rappresenta un set completo di dati, tra cui tabelle, vincoli e relazioni tra le tabelle. Poiché il set di dati è indipendente dall'origine dati, un set di dati può includere dati locali per l'applicazione e anche dati di più origini dati. L'interazione con le origini dati esistenti viene controllata tramite l'oggetto DataAdapter .

La HostfileDataAdapter.SelectCommand proprietà è un oggetto HostFileCommand che recupera i dati dall'origine dati. Il HostFileDataAdapter.Fill metodo viene usato per popolare un set di dati con i risultati di SelectCommand. Fill accetta come argomenti un DataSet oggetto da popolato e DataTableDataTable un oggetto o il nome dell'oggetto da riempire con le righe restituite da SelectCommand.

Il Fill metodo usa l'oggetto HostFileDataReader in modo implicito DataSet per restituire i nomi e i tipi di colonna utilizzati per creare le tabelle nell'oggetto , oltre ai dati per popolare le righe delle tabelle nell'oggetto DataSet . Le tabelle e le colonne vengono create solo se non esistono già. In caso contrario, nel metodo Fill viene usato lo schema del DataSet esistente. Le chiavi primarie non vengono create a meno che non si trovano nell'origine dati e non HostFileDataAdapter.MissingSchemaAction siano impostate su MissingSchemaAction.AddWithKey. Fill Se rileva che esiste una chiave primaria per una tabella, DataSet sovrascrive i dati nell'oggetto con i dati dell'origine dati per le righe in cui i valori della colonna chiave primaria corrispondono a quelli della riga restituita dall'origine dati. Se non viene trovata alcuna chiave primaria, i dati vengono aggiunti alle tabelle nell'oggetto DataSet . Fill usa tutti i mapping che potrebbero esistere durante il popolamento dell'oggetto DataSet .

Se rileva HostFileDataAdapter più set di risultati, crea più tabelle nell'oggetto DataSet . Alle tabelle viene assegnato il nome predefinito incrementale TableN, che inizia con "Table" per Table0. Se un nome di tabella Fill viene passato come argomento al metodo , alle tabelle viene assegnato un nome predefinito incrementale tableNameN, a partire da "TableName" per TableName0.

È possibile usare qualsiasi numero di HostFileDataAdapter oggetti con un DataSet oggetto . Ogni DataAdapter oggetto può essere usato per riempire uno o più DataTable oggetti e risolvere gli aggiornamenti nell'origine dati pertinente. È possibile aggiungere DataRelation oggetti e Constraint a in DataSet locale, consentendo di correlare i dati provenienti da origini dati diverse. Uno o più oggetti DataAdapter possono gestire le comunicazioni con ciascuna origine dati.

Per popolare un set di dati del file host dall'adattatore dati

  1. Creare una nuova connessione all'origine dati usando HostFileConnection.

  2. Aprire la connessione usando HostFileConnection.Open.

  3. Creare un comando SELECT che descrive i dati da recuperare con HostFileCommand.

  4. Creare un HostFileDataAdapter oggetto utilizzando HostFileConnection per interagire con i dati archiviati.

  5. Creare un DataSet oggetto per archiviare i dati in locale.

  6. Recuperare i dati tramite utilizzando HostFileDataAdapter l'oggetto DataSet e il Fill comando .

Esempio

Nell'esempio di codice seguente viene illustrato come riempire un set di dati tramite un oggetto HostFileDataAdapter. In questo esempio, gli oggetti ETCMLogging e HostFileUtils forniscono rispettivamente funzionalità di registrazione e utilità.

public void HFDAdapterCommandConstructor(ETCMLogging.Logging logging, string host, string ccsid, string cnstring, HostFileUtils.Utils.HostFileType hostfiletype)  
        {  
            HostFileUtils.Utils u = new HostFileUtils.Utils();  
            logging.LogInfo(host + "::" + hostfiletype.ToString());  
            HostFileUtils.Utils.MytestsVals[] Datavals = u.InitMytestsVals();  
  
            try  
            {  
                HostFileConnection cn = new HostFileConnection(cnstring);  
                cn.Open();  
                String SELECT = u.CreateSQLCommand(host, hostfiletype, cnstring, "SELECT", "MYTEST");  
                HostFileCommand hfc = new HostFileCommand(SELECT, cn);  
                HostFileDataAdapter hfda = new HostFileDataAdapter(hfc);  
                DataSet ds = new DataSet();  
                hfda.Fill(ds);  
                int[] cp = u.CheckColumns(SELECT, cn, logging);  
                u.ValidateDataSet(ds, logging, Datavals, cp);  
  
                cn.Close();  
            }  
            catch (Exception e)  
            {  
                logging.LogInfo(e.Message);  
                logging.LogFail(e.StackTrace);  
            }  
        }  

In questo esempio di codice l'oggetto HostFileUtils e cnstring i parametri e ccsid consentono di creare rapidamente un comando di test SQL con le informazioni pertinenti.

Vedere anche

Uso di HostFileAdapter e del set di dati
Adattatore BizTalk per la configurazione di file host