0 голосов
спросил от в категории VBASPNETVBNET
Я не уверен, что SqlDataSource - лучший инструмент для этого. Если я правильно понимаю ваше требование, вам нужно - проверить, действительно ли письмо для указанного пользователя - если оно есть, измените адрес электронной почты на что-то новое

Насколько я вижу, у вас есть такие опции, как:
  • Измените инструкцию UPDATE для SqlDataSource для использования предложение WHERE для обеспечения электронной почты. Что-то вроде
    UPDATE aspnet_Membership  SET Email = @Email, LoweredEmail = @LoweredEmail  FROM aspnet_Membership INNER JOIN aspnet_Users ON aspnet_Membership.UserId = aspnet_Users.UserId  WHERE (aspnet_Membership.UserId = @UserId)  AND aspnet_Membership.MP_Email = @email

    Для этого потребуется проверить, обновлены ли какие-либо строки. В случае неправильного адреса электронной почты будут обновлены 0 строк.
  • Вы можете использовать отдельный SqlCommand для проверки перед обновлением, это было бы лучшим вариантом, на мой взгляд, так как это предоставит вам дополнительную информацию (недействителен идентификатор электронной почты или пользователя).
  • Используйте хранимую процедуру, я бы сказал, что это лучший вариант для инкапсуляции всего изменения в процедуре. Это немного повышает производительность, потому что требуется меньшее количество обращений, но главное преимущество заключается в том, что при необходимости вы можете использовать одну и ту же функциональность в нескольких местах, а клиентская сторона может просто сосредоточиться на правильной обработке ошибок.

Пожалуйста, войдите или зарегистрируйтесь чтобы ответить на этот вопрос.

Категории

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

Связанных вопросов не найдено

...