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
Creare una nuova connessione all'origine dati usando
HostFileConnection
.Aprire la connessione usando
HostFileConnection.Open
.Creare un comando SELECT che descrive i dati da recuperare con
HostFileCommand
.Creare un
HostFileDataAdapter
oggetto usingHostFileConnection
per interagire con i dati archiviati.Creare un
DataSet
oggetto per archiviare i dati in locale.Recuperare i dati tramite l'oggetto
HostFileDataAdapter
utilizzando l'oggettoDataSet
e ilFill
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