powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Ну не знаю я как коротко проблему обозвать, ADO.Net короче
3 сообщений из 3, страница 1 из 1
Ну не знаю я как коротко проблему обозвать, ADO.Net короче
    #33981394
alreves
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Начну по порядку.
В БД на сервере храниться таблица пациентов. Пациенты имеют набор атрибутов (id, seria, num, strah). Пара seria, num - уникальна.
Список пациентов пополняется как вручную, так и из таблиц присылаемых страховыми компаниями.
Некоторые страховщики правильные, и присылают свои базы, в которых для записи присутствует атрибут: страховщик. Некоторые компании присылают как захочется.
Инструмент для работы с базами: С# + ADO.Net!
При загрузке записей из баз страховых компаний над своей базой необходимо выполнить ряд действий: добавить новые записи, обновить/удалить имеющиеся.
Естественно для обновления выбираю записи принадлежащие только одному страховщику, с внешней базой которого работаю.
Проверяю свои записи и записи страховщика, отсутсвующие у меня добавляю. И вот тут начинается заморочка: если в моей базе этот пациент был занесён вручную, но страховщик был указан ошибочно, то начинается бага: пациент не был выбран в результате первоначального запроса с отбором по страховщику, значит обработчик посчитает, что в базе его нету и соответственно добавит, как нового. При физической записи данных в базу возникнет ошибка [violation of PRIMARY or UNIQUE KEY constraint], это естественно, ведь пара seria, num - уникальна.
Вот она прелесть ADO.Net.
Господа, кто-нибудь, подскажет решение проблемы, отбирать все записи очень не хочеться, их там примерно 2 млн., как-то многовато.
...
Рейтинг: 0 / 0
Ну не знаю я как коротко проблему обозвать, ADO.Net короче
    #33981486
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только причём тут Ado.Net понятия не имею.
проблема я так понимаю со стороны БД - вот там её и надо решать.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Ну не знаю я как коротко проблему обозвать, ADO.Net короче
    #33981494
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно, почему вы обвиняете во всем этом совем геморе ADO.NET?!
покажите технологию, где проблема бы не возникла

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
cretae procedure ins_p  @seria, @numm, @strah
as
if exists (select * from yourTable where seria = @seria and numm = @numm)
begin
update yourTable set strah = @strah where seria = @seria and numm = @numm
end
else
insert into yourTable (seria, numm, strah) values (@seria, @numm @strah)
end

и нафиг вам id в таблице?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Ну не знаю я как коротко проблему обозвать, ADO.Net короче
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]