本文整理汇总了C#中System.Data.Common.DataTableMapping.GetDataColumn方法的典型用法代码示例。如果您正苦于以下问题:C# DataTableMapping.GetDataColumn方法的具体用法?C# DataTableMapping.GetDataColumn怎么用?C# DataTableMapping.GetDataColumn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Common.DataTableMapping
的用法示例。
在下文中一共展示了DataTableMapping.GetDataColumn方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParameterOutput
private void ParameterOutput(IDataParameter parameter, DataRow row, DataTableMapping mappings, MissingMappingAction missingMapping, MissingSchemaAction missingSchema)
{
if (0 != (ParameterDirection.Output & parameter.Direction))
{
object value = parameter.Value;
if (null != value)
{
// null means default, meaning we leave the current DataRow value alone
string columnName = parameter.SourceColumn;
if (!string.IsNullOrEmpty(columnName))
{
DataColumn dataColumn = mappings.GetDataColumn(columnName, null, row.Table, missingMapping, missingSchema);
if (null != dataColumn)
{
if (dataColumn.ReadOnly)
{
try
{
dataColumn.ReadOnly = false;
row[dataColumn] = value;
}
finally
{
dataColumn.ReadOnly = true;
}
}
else
{
row[dataColumn] = value;
}
}
}
}
}
}
示例2: ParameterInput
private void ParameterInput(IDataParameterCollection parameters, StatementType typeIndex, DataRow row, DataTableMapping mappings)
{
Data.MissingMappingAction missingMapping = UpdateMappingAction;
Data.MissingSchemaAction missingSchema = UpdateSchemaAction;
foreach (IDataParameter parameter in parameters)
{
if ((null != parameter) && (0 != (ParameterDirection.Input & parameter.Direction)))
{
string columnName = parameter.SourceColumn;
if (!string.IsNullOrEmpty(columnName))
{
DataColumn dataColumn = mappings.GetDataColumn(columnName, null, row.Table, missingMapping, missingSchema);
if (null != dataColumn)
{
DataRowVersion version = DbDataAdapter.GetParameterSourceVersion(typeIndex, parameter);
parameter.Value = row[dataColumn, version];
}
else
{
parameter.Value = null;
}
DbParameter dbparameter = (parameter as DbParameter);
if ((null != dbparameter) && dbparameter.SourceColumnNullMapping)
{
Debug.Assert(DbType.Int32 == parameter.DbType, "unexpected DbType");
parameter.Value = ADP.IsNull(parameter.Value) ? s_parameterValueNullValue : s_parameterValueNonNullValue;
}
}
}
}
}
示例3: GetDataColumn
private DataColumn GetDataColumn(string columnName, DataTableMapping tablemapping, DataRow row) {
DataColumn column = null;
if (!ADP.IsEmpty(columnName)) {
column = tablemapping.GetDataColumn(columnName, null, row.Table, _missingMappingAction, MissingSchemaAction.Error);
}
return column;
}
示例4: Fill
private int Fill(DataTable dataTable, DataTableMapping tableMapping, IDataReader dataReader, int startRecord, int maxRecords)
{
int rowsAffected = 0;
int rowIndex = 0;
dataTable.BeginLoadData();
try
{
while(dataReader.Read() && ((rowsAffected < maxRecords) || maxRecords <= 0))
{
if(rowIndex >= startRecord)
{
DataRow row = dataTable.NewRow();
for(int index = 0; index < dataReader.FieldCount; index++)
{
string name = dataReader.GetName(index);
Type fieldType = dataReader.GetFieldType(index);
DataColumn column = tableMapping.GetDataColumn(name, fieldType, dataTable, MissingMappingAction, MissingSchemaAction);
if(column != null)
{
if(dataTable.Columns.Contains(column.ColumnName))
{
row[column] = dataReader.GetValue(index);
}
}
}
dataTable.Rows.Add(row);
row.AcceptChanges();
rowsAffected++;
}
rowIndex++;
}
}
finally
{
dataTable.EndLoadData();
}
return rowsAffected;
}
示例5: ParameterOutput
private void ParameterOutput(IDataParameter parameter, DataRow row, DataTableMapping mappings, MissingMappingAction missingMapping, MissingSchemaAction missingSchema)
{
if ((ParameterDirection.Output & parameter.Direction) != ((ParameterDirection) 0))
{
object obj2 = parameter.Value;
if (obj2 != null)
{
string sourceColumn = parameter.SourceColumn;
if (!ADP.IsEmpty(sourceColumn))
{
DataColumn column = mappings.GetDataColumn(sourceColumn, null, row.Table, missingMapping, missingSchema);
if (column != null)
{
if (column.ReadOnly)
{
try
{
column.ReadOnly = false;
row[column] = obj2;
return;
}
finally
{
column.ReadOnly = true;
}
}
row[column] = obj2;
}
}
}
}
}
示例6: ParameterInput
private void ParameterInput(IDataParameterCollection parameters, StatementType typeIndex, DataRow row, DataTableMapping mappings)
{
MissingMappingAction updateMappingAction = this.UpdateMappingAction;
MissingSchemaAction updateSchemaAction = this.UpdateSchemaAction;
foreach (IDataParameter parameter in parameters)
{
if ((parameter != null) && ((ParameterDirection.Input & parameter.Direction) != ((ParameterDirection) 0)))
{
string sourceColumn = parameter.SourceColumn;
if (!ADP.IsEmpty(sourceColumn))
{
DataColumn column = mappings.GetDataColumn(sourceColumn, null, row.Table, updateMappingAction, updateSchemaAction);
if (column != null)
{
DataRowVersion parameterSourceVersion = GetParameterSourceVersion(typeIndex, parameter);
parameter.Value = row[column, parameterSourceVersion];
}
else
{
parameter.Value = null;
}
DbParameter parameter2 = parameter as DbParameter;
if ((parameter2 != null) && parameter2.SourceColumnNullMapping)
{
parameter.Value = ADP.IsNull(parameter.Value) ? ParameterValueNullValue : ParameterValueNonNullValue;
}
}
}
}
}