Преобразование типа данных массива элементов строки таблицы данных в другой тип данных (int, decimal, date time ... и т. Д.)? - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть две таблицы данных, одна из которых я получаю из базы данных 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;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...