Проблемы с проверкой отдельных столбцов загруженных данных по существующей базе данных - PullRequest
0 голосов
/ 20 октября 2010

У меня есть кнопка загрузки на моем веб-портале, с помощью которой клиенты могут загружать CSV-файл. После загрузки CSV-файла данные CSV будут отображаться в виде таблицы данных на экране. После загрузки клиент должен проверить данные, нажав кнопку «Проверить», которая в основном проверяет, что загруженные данные имеют нужные данные в определенных столбцах по сравнению с Существующая база данных. Что я хочу сделать, это проверить определенный столбец, например (productid), по сравнению с dbo.existingcustomers *. Если соответствующий продукт присутствует в клиенте dbo.existing, то статус (столбец в dbo.exisitingcustomers) должен быть заполнен словом «ok». Если продукт отсутствует в dbo.exisiting, то Status (столбец в dbo.exisitingcustomers) должен быть заполнены с "Пожалуйста, проверьте ваш продукт". После проверки каждой строки загруженного файла .csv система должна отобразить данные с дополнительным столбцом с именем Status, в котором будут показаны вышеуказанные сообщения для каждой строки. Любая помощь будет высоко оценена. Я могу загрузить файл csv и вставить данные в SQL Server, но у меня проблемы с проверкой существующего продукта. Поскольку я хочу убедиться, что клиенты вводят правильный продукт, который присутствует на моем сервере sql, если они загружают неправильный продукт, которого нет в действующей базе данных, они должны изменить его, чтобы перейти к следующему шагу. В настоящее время у клиентов есть все соответствующие продукты, я просто хочу проверить, если они по ошибке набрали неправильный продукт, который сэкономит огромное количество времени * dbo.existingcustomers = table (sql server У меня есть кнопка загрузки на моем веб-портале, с помощью которой клиенты могут загрузить CSV-файл. После загрузки CSV-файла данные CSV будут отображаться в представлении таблицы данных на экране. После загрузки клиент должен проверить данные, нажав кнопку «Подтвердить», которая в основном проверяет, что загруженные данные имеют нужные данные в определенных столбцах. существующая база данных.

Что я хочу сделать, это проверить определенный столбец, например (productid), против dbo.existingcustomers *. Если соответствующий продукт присутствует в клиенте dbo.existing, то в статусе (столбец в dbo.exisitingcustomers) должно быть указано «ok». Если продукт отсутствует в dbo.exisiting, то в столбце «Статус» (столбец в dbo.exisitingcustomers). ) должен быть заполнен "Пожалуйста, проверьте ваш продукт". После проверки каждой строки загруженного файла .csv система должна отобразить данные с дополнительным столбцом с именем Status, в котором будут отображаться вышеуказанные сообщения для каждой строки.

Любая помощь будет высоко оценена.

Я могу загрузить файл csv и вставить данные на сервер sql, но у меня возникают проблемы с проверкой существующего продукта. Поскольку я хочу убедиться, что клиенты вводят правильный продукт, который присутствует на моем сервере sql, если они загружают неправильный продукт, которого нет в действующей базе данных, они должны изменить его, чтобы перейти к следующему шагу. В настоящее время у клиентов есть все соответствующие продукты, я просто хочу проверить, не ошиблись ли они, введя неправильный продукт, что сэкономит огромное количество времени.

Если кто-то может помочь мне написать запрос, который может решить эту проблему.

* dbo.existingcustomers = table (sql server)

Ответы [ 2 ]

0 голосов
/ 20 октября 2010

Сколько идентификаторов продуктов существует в таблице dbo.existingcustomers?Сколько строк существует в типичном CSV-файле?

Если пользователь загружает файл, содержащий более 5-10 строк, и в таблице содержится не более 100-200 идентификаторов продукта, лучше выбратьвсе идентификаторы одновременно выполняют поиск по коллекции идентификаторов в вашем коде, потому что несколько запросов SQL в цикле не очень хорошая идея.

Более того, даже если в таблице 1000-2000 идентификаторов продуктов, вы можете использоватьтаким образом, но нужно использовать более интеллектуальный алгоритм для поиска идентификатора в коллекции идентификаторов, такой как бинарный поиск (например, Array.BinarySearch в .net framework).

0 голосов
/ 20 октября 2010

Как правило, вам нужно написать код для циклического перебора сетки данных и выполнить запрос для проверки каждого поля - что-то вроде

select * from [dbo.existingcustomers] where productid = ?

Без дополнительной информации о вашей базе данных сложно быть более понятным.

Делись и наслаждайся.

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