У меня есть две таблицы данных, одна из которых я получаю из базы данных Oracle, например (таблица данных БД), в которой есть значения строк различного типа данных (int, string, decimal, date time ... etc), а вторая - изНапример, в листе Excel (таблица данных Excel) значения строк различного типа (int, string и т. д.), но оба типа данных не совпадают.
Теперь я выполняю сравнение обеих таблиц данных.чтобы получить разные записи при этом, я должен соответствовать типу данных Column обеих таблиц данных.
Я использовал приведенный ниже код для преобразования моего типа данных столбцов (таблица данных Excel) в (Таблица данных БД), который соответствует типу данных обоих столбцов, однако, как только я преобразовал тип данных столбцов, я использую строку импорта с датируемыми даннымиметод для импорта строк (таблица данных Excel) в мою новую таблицу данных, где я соответствовал типу данных столбцов.Я только преобразовал мой тип данных столбцов, но все же мои строки или значения ссылаются на тот же тип данных, который был в существующей таблице данных (таблица данных Excel)
Мой вопрос: - 1) Поскольку я преобразовал данные столбцовтип данных строки автоматически примет новый тип данных, который я назначил, или мне нужно специально преобразовать массив элементов строки в ожидаемый тип данных.
Если мне нужно преобразовать тип данных массива элементов строкитогда как я могу добиться этого с помощью кода ..
Любая помощь приветствуется.Спасибо
"Невозможно установить столбец 'COLUMN_NAME'. Значение нарушает ограничение MaxLength для этого столбца."
public DataTable ModifyDataTableType(DataTable
refrenceDataTable,DataTable dataTable)
{
DataTable dtCloned = dataTable.Clone();
try{
for(int i = 0;i<dtCloned.Columns.Count;i++)
{
dtCloned.Columns[i].DataType =
refrenceDataTable.Columns[i].DataType;
}
dtCloned.AcceptChanges();
foreach(DataRow dr in dataTable.Rows)
{
//Exception is thrown here
dtCloned.ImportRow(dr);
}
}catch(Exception ex)
{
Report.Log(ReportLevel.Info,"Exception message:- "+ex.Message);
}
return dtCloned;
}