Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ FillSchemaFromReader()

object System.Data.Common.DataAdapter.FillSchemaFromReader ( DataSet dataset,
DataTable datatable,
SchemaType schemaType,
string srcTable,
IDataReader dataReader )
inlinepackageinherited

Definition at line 336 of file DataAdapter.cs.

337 {
338 DataTable[] array = null;
339 int num = 0;
340 do
341 {
343 if (0 < dataReaderContainer.FieldCount)
344 {
345 string sourceTableName = null;
346 if (dataset != null)
347 {
348 sourceTableName = GetSourceTableName(srcTable, num);
349 num++;
350 }
351 SchemaMapping schemaMapping = new SchemaMapping(this, dataset, datatable, dataReaderContainer, keyInfo: true, schemaType, sourceTableName, gettingData: false, null, null);
352 if (datatable != null)
353 {
354 return schemaMapping.DataTable;
355 }
356 if (schemaMapping.DataTable != null)
357 {
358 array = ((array != null) ? AddDataTableToArray(array, schemaMapping.DataTable) : new DataTable[1] { schemaMapping.DataTable });
359 }
360 }
361 }
362 while (dataReader.NextResult());
363 object obj = array;
364 if (obj == null && datatable == null)
365 {
366 obj = Array.Empty<DataTable>();
367 }
368 return obj;
369 }
static DataTable[] AddDataTableToArray(DataTable[] tables, DataTable newTable)
virtual bool ReturnProviderSpecificTypes
static string GetSourceTableName(string srcTable, int index)
static DataReaderContainer Create(IDataReader dataReader, bool returnProviderSpecificTypes)

References System.Data.Common.DataAdapter.AddDataTableToArray(), System.array, System.Data.ProviderBase.DataReaderContainer.Create(), System.Data.ProviderBase.SchemaMapping.DataTable, System.Data.ProviderBase.DataReaderContainer.FieldCount, System.Data.Common.DataAdapter.GetSourceTableName(), System.Data.IDataReader.NextResult(), System.obj, and System.Data.Common.DataAdapter.ReturnProviderSpecificTypes.

Referenced by System.Data.Common.DataAdapter.FillSchema(), and System.Data.Common.DataAdapter.FillSchema().