StudentSC Ответов: 1

Как объединить столбец bulkcopy в C#?


Я читаю Excel и копирую базу данных.Но я хочу объединить два столбца в ячейке и скопировать их в один столбец в базе данных.Я не могу этого сделать.Вы не могли бы мне помочь?

Столбец Excel:

ID ИМЯ ФАМИЛИЯ

1 Алекс Джон

Что я уже пробовал:

ID NAMESURNAME

1 AlexJohn

1 Ответов

Рейтинг:
0

CHill60

Если бы это был я, я бы сделал массовую копию в промежуточную таблицу, которая выглядит точно так же, как исходный файл excel, т. е.

bulkCopy.ColumnMappings.Add("ID", "ID");  
bulkCopy.ColumnMappings.Add("Name", "Name");
bulkCopy.ColumnMappings.Add("Surname", "Surname");                                            
bulkCopy.DestinationTableName = "Staging";
Как только эта таблица будет загружена, я просто использую команду SQL для перемещения данных в конечную таблицу - в этот момент вы можете делать со столбцами все, что хотите, например
INSERT INTO Students SELECT ID, Name + ' ' + Surname AS Name FROM Staging
Этот метод также дает вам возможность проверить данные в промежуточной таблице перед загрузкой в live.


Maciej Los

5ed!

[no name]

моя цель - фактически создать виртуальную временную таблицу.
бросьте его на стол в виде колонки
затем объедините и бросьте его на стол я хочу
как создать виртуальную таблицу

CHill60

"Виртуальная" таблица-это представление, основанное на других таблицах. Вы не можете создать виртуальную таблицу, чтобы сделать то, что вы хотите сделать. Временные таблицы создаются так же как и обычные таблицы но временные таблицы существуют только для текущей таблицы сессия. Если вы используете одну команду для создания временной таблицы, а затем пытаетесь использовать массовое копирование в том же соединении, нет никакой гарантии, что временная таблица все еще будет существовать. Также сообщалось о проблемах с использованием массового копирования во временные таблицы для определенных sql - "типов" - например, Azure.
Я всегда использую постоянную таблицу для таких заданий, в основном потому, что в случае сбоя содержимое может помочь в отладке/восстановлении

[no name]

Привет.Excel я написал код, который прочитал.Я не мог использовать здесь команду sql.Можете ли вы показать мне, как это сделать с помощью кода?Я не мог реализовать и запустить информацию, которую вы сказали.

[no name]

Нужно ли мне писать перед этим код для создания временной таблицы, и можете ли вы привести пример кода блога, который я могу создать на эту тему?