Ejemplo n.º 1
0
        private IDataSetAdapter CreateDataSetAdapter(dataSetAdapter dsa)
        {
            IDbDataAdapter currentDbDataAdapter =
                (IDbDataAdapter)Activator.CreateInstance(_provider.DataAdapterObjectType);
            IDataSetAdapter currentDataSetAdapter =
                new DataSetAdapter(dsa.name, currentDbDataAdapter, _dataSource);

            currentDataSetAdapter.SelectCommand = CreateDataCommand(dsa.selectCommand);
            if(dsa.insertCommand != null)
                currentDataSetAdapter.InsertCommand = CreateDataCommand(dsa.insertCommand);
            if(dsa.updateCommand != null)
                currentDataSetAdapter.UpdateCommand = CreateDataCommand(dsa.updateCommand);
            if(dsa.deleteCommand != null)
                currentDataSetAdapter.DeleteCommand = CreateDataCommand(dsa.deleteCommand);

            if(dsa.tableMappings != null)
            {
                foreach(tableMapping tm in dsa.tableMappings)
                {
                    DataTableMapping dtm = currentDataSetAdapter.TableMappings.Add(
                        tm.sourceTable, tm.dataSetTable);

                    if(tm.columnMappings != null)
                    {
                        foreach(columnMapping cm in tm.columnMappings)
                            dtm.ColumnMappings.Add(cm.sourceColumn, cm.dataSetColumn);
                    }
                }
            }

            if(dsa.populateCommands)
                currentDataSetAdapter.PopulateCommands();

            return currentDataSetAdapter;
        }