Torna al Thread

protected virtual int Fill(DataTable[] dataTables, IDataReader dataReader, int startRecord, int maxRecords) { int num3; IntPtr ptr; Bid.ScopeEnter(out ptr, "<comm.DataAdapter.Fill|API> %d#, dataTables[], dataReader, startRecord, maxRecords\n", this.ObjectID); try { ADP.CheckArgumentLength(dataTables, "tables"); if (((dataTables == null) || (dataTables.Length == 0)) || (dataTables[0] == null)) { throw ADP.FillRequires("dataTable"); } if (dataReader == null) { throw ADP.FillRequires("dataReader"); } if ((1 < dataTables.Length) && ((startRecord != 0) || (maxRecords != 0))) { throw ADP.NotSupported(); } int num2 = 0; bool enforceConstraints = false; DataSet dataSet = dataTables[0].DataSet; try { if (dataSet != null) { enforceConstraints = dataSet.EnforceConstraints; dataSet.EnforceConstraints = false; } for (int i = 0; i < dataTables.Length; i++) { if (dataReader.IsClosed) { goto Label_00DE; } DataReaderContainer container = DataReaderContainer.Create(dataReader, this.ReturnProviderSpecificTypes); if (container.FieldCount > 0) { if ((0 < i) && !this.FillNextResult(container)) { goto Label_00DE; } int num4 = this.FillFromReader(null, dataTables[i], null, container, startRecord, maxRecords, null, null); if (i == 0) { num2 = num4; } } } } catch (ConstraintException) { enforceConstraints = false; throw; } finally { if (enforceConstraints) { dataSet.EnforceConstraints = true; } } Label_00DE: num3 = num2; } finally { Bid.ScopeLeave(ref ptr); } return num3; }
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5