Member 12925761 Ответов: 1

Как вставить строки excel в таблицу SQL server с помощью .NET


У меня есть лист excel с несколькими строками.Мне нужно добавить эти строки в таблицу в SQL server с помощью .Net.I попробовал bulk insert, но это не помогает, так как сначала нужно проверить, присутствует ли уже эта конкретная запись (имеющая тот же идентификатор сотрудника). Если нет, то необходимо вставить новую запись, а если да, то эта конкретная строка должна быть обновлена новыми значениями в листе excel для этого идентификатора emp.
Пожалуйста, помогите !

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

Я пробовал массовую вставку, но она напрямую импортируется в таблицу, а не строка за строкой для проверки состояния идентификатора сотрудника.

NotPolitcallyCorrect

Можете ли вы обновить свою публикацию с помощью кода, который вы пробовали (для этого и предназначен раздел "Что я пробовал"), и конкретного вопроса?

1 Ответов

Рейтинг:
2

#realJSOP

Лучше всего написать хранимую процедуру для правильной обработки вставки. Я использую что-то вроде этого:

-- try to update an existing record
UPDATE  [databaseName].[dbo].[tableName]
SET     [field1] = @parameter,
        [field2] = @parameter2
        ...
WHERE   [ID]     = @id
[AND    [field3] = @parameter3, ...]

-- if the number of rows affected is 0, the record we tried to update 
-- does not exist, so perform an insert.
IF (@@ROWCOUNT = 0)
    INSERT  INTO [databaseName].[dbo].[tableName]
            (field1,  field2, field3, ...)
    VALUES  (@parameter1, @parameter2, @parameter3, ...)

Я лично предпочитаю обрабатывать по одной записи за раз и указывать поля в списке параметров, но вы также можете передать XML-строку и позволить хранимой процедуре разобрать ее.