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

Il set di dati è una rappresentazione residente in memoria dei dati che fornisce un modello di programmazione relazionale coerente indipendentemente dall'origine dati. Il set di dati rappresenta un set completo di dati, inclusi 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 i dati provenienti da più origini dati. L'interazione con le origini dati esistenti viene controllata tramite l'oggetto DataAdapter .

La HostfileDataAdapter.SelectCommand proprietà è un HostFileCommand oggetto 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 popolare e un DataTable oggetto oppure il nome dell'oggetto DataTable da riempire con le righe restituite da SelectCommand.

Il Fill metodo usa l'oggetto HostFileDataReader in modo implicito per restituire i nomi e i tipi di colonna utilizzati per creare le tabelle nell'oggetto DataSet e anche i 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 trovino nell'origine dati e HostFileDataAdapter.MissingSchemaAction siano impostate su MissingSchemaAction.AddWithKey. Se Fill rileva che esiste una chiave primaria per una tabella, sovrascrive i dati nell'oggetto DataSet 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 dell'oggetto DataSet . Fill utilizza 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 viene passato come argomento al Fill metodo, alle tabelle viene assegnato un nome predefinito incrementale TableNameN, a partire da "TableName" per TableName0.

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

Per popolare un set di dati di 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 using HostFileConnection per interagire con i dati archiviati.

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

  6. Recuperare i dati tramite l'oggetto HostFileDataAdapter utilizzando 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 i cnstring parametri e ccsid consentono di creare rapidamente un comando SQL di test con le informazioni pertinenti.

Vedere anche

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