Compartir a través de


Cómo rellenar un conjunto de datos de archivo de host desde el adaptador de datos

El conjunto de datos es una representación residente en memoria de los datos que proporciona un modelo de programación relacional coherente independiente del origen de datos. El conjunto de datos representa un conjunto completo de datos, incluidas tablas, restricciones y relaciones entre las tablas. Dado que el conjunto de datos es independiente del origen de datos, un conjunto de datos puede incluir datos locales en la aplicación y también datos de varios orígenes de datos. La interacción con orígenes de datos existentes se controla a través del DataAdapter objeto .

La HostfileDataAdapter.SelectCommand propiedad es un HostFileCommand objeto que recupera datos del origen de datos. El HostFileDataAdapter.Fill método se usa para rellenar un conjunto de datos con los resultados de SelectCommand. Fill toma como argumentos un DataSet objeto que se va a rellenar y un DataTable objeto o el nombre del DataTable objeto que se va a rellenar con las filas devueltas de SelectCommand.

El Fill método usa el HostFileDataReader objeto implícitamente para devolver los nombres de columna y los tipos usados para crear las tablas en el DataSet objeto y también los datos para rellenar las filas de las tablas del DataSet objeto . Las tablas y columnas solo se crean cuando no existen; en caso contrario, Fill utiliza el esquema existente de DataSet . Las claves principales no se crean a menos que estén en el origen de datos y HostFileDataAdapter.MissingSchemaAction se establezca MissingSchemaAction.AddWithKeyen . Si Fill encuentra que existe una clave principal para una tabla, sobrescribe los datos del DataSet objeto con datos del origen de datos para las filas donde los valores de la columna de clave principal coinciden con los de la fila devuelta desde el origen de datos. Si no se encuentra ninguna clave principal, los datos se anexan a las tablas del DataSet objeto . Fill usa cualquier asignación que pueda existir al rellenar el DataSet objeto.

HostFileDataAdapter Si encuentra varios conjuntos de resultados, crea varias tablas en el DataSet objeto . Las tablas reciben de forma predeterminada el nombre secuencial TableN, comenzando por "Table" que representa Table0. Si se pasa un nombre de tabla como argumento al Fill método , las tablas reciben un nombre predeterminado incremental de TableNameN, empezando por "TableName" para TableName0.

Puede usar cualquier número de HostFileDataAdapter objetos con un DataSet objeto . Cada DataAdapter objeto se puede usar para rellenar uno o varios DataTable objetos y resolver las actualizaciones de nuevo en el origen de datos pertinente. Puede agregar DataRelation objetos y Constraint a localmente DataSet , lo que le permite relacionar datos de orígenes de datos diferentes. La comunicación con cada origen de datos se puede controlar usando uno o varios objetos DataAdapter .

Para rellenar un conjunto de datos de archivo de host desde el adaptador de datos

  1. Cree una nueva conexión al origen de datos mediante HostFileConnection.

  2. Abra la conexión mediante HostFileConnection.Open.

  3. Cree un comando SELECT que describa los datos que se van a recuperar con HostFileCommand.

  4. Cree un HostFileDataAdapter uso HostFileConnection para interactuar con los datos almacenados.

  5. Cree un DataSet objeto para almacenar los datos localmente.

  6. Recupere los datos mediante el HostFileDataAdapterDataSet objeto y el Fill comando .

Ejemplo

En el ejemplo de código siguiente se muestra cómo rellenar un conjunto de datos a través de .HostFileDataAdapter En este ejemplo, los objetos ETCMLogging y HostFileUtils proporcionan la funcionalidad de registro y utilidad, respectivamente.

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);  
            }  
        }  

En este ejemplo de código, el HostFileUtils objeto y los cnstring parámetros y ccsid permiten crear rápidamente un comando SQL de prueba con la información pertinente.

Consulte también

Uso del adaptador y el conjunto de datos de archivos host
Adaptador de BizTalk para la configuración de Host Files