Рейтинг:
0
OriginalGriff
Ваш вопрос не имеет большого смысла: как только элемент удаляется из БД, он удаляется - ни один другой пользователь не может удалить удаленную информацию, так же как два разных человека не могут сжечь одну и ту же банковскую купюру!
Если вы говорите, что "если он уже был удален, не показывайте сообщение "удалено успешно", то используйте возвращаемое значение из ExecuteNonQuery, чтобы сообщить вам, сколько строк было удалено:
int affected = cmd.ExecuteNonQuery();
Если он равен нулю, то там нет совпадающих строк, поэтому ничего не было удалено.
Если это не то, с чем у вас возникли трудности, вам нужно будет объяснить гораздо более подробно, в чем именно заключается ваша проблема!
Member 14137624
я хочу, чтобы если человек хочет удалить данные, у него должна быть аутентификация, тогда только он может удалить эти данные
OriginalGriff
Какого рода разрешение? Здесь есть много возможностей:
1) пользователи SQL должны иметь соответствующий доступ к БД, и "удаление строк" может быть запрещено одним пользователям, а не другим - это означает, что ваша строка подключения SQL может отличаться для "разрешенных пользователей" и "запрещенных пользователей".
2) ваши пользователи предположительно должны войти в вашу систему: в этом случае (а также в соответствии с положениями GDPR, о которых, я надеюсь, вы знаете) ваша система "знает", что это за Пользователь - вы можете проверить это и даже не пытаться!
3) возможно, что ваш пользователь входит в свою ОС, и это тот самый "пользователь", о котором вы говорите. Опять же, это код в вашем приложении, чтобы проверить его.
Серьезно, мы получаем только то, что вы печатаете для работы - я не неловок, просто не информирован обо всей вашей системе и о том, как этот маленький кусочек кода вписывается в нее!
Member 14137624
у меня есть вставить удалить обновления и поиска участие в моей программного обеспечения это система инвентаризации для моей компании, здесь я могу войти в системное программное обеспечение и вставка, обновление, удаление и поиск данных во время удаления только некоторые люди могут удалить данные в компании у меня нет логина пароля для SQL Server, как я могу сделать для удаления части
OriginalGriff
Если вы используете "интегрированную безопасность" как часть своей строки подключения, вам придется изменить ее при выпуске программного обеспечения, поскольку оно вряд ли будет работать в производстве (но ваша строка подключения будет отличаться для prod и dev в любом случае, или у вас возникнут серьезные проблемы позже). И пользователи SQL, которых вы настроили, должны иметь достаточно разрешений, чтобы выполнять свою работу, не больше и не меньше - или вы оставляете свою БД открытой для случайного или преднамеренного повреждения.
Если вы, пользователи, входите в свою систему инвентаризации, а затем используете данные пользователей, чтобы решить, являются ли они "разрешенными" - мы не можем помочь вам в этом, у нас нет доступа к вашему коду входа или БД, которая его поддерживает, - поэтому мы понятия не имеем, что вы храните, что идентифицирует пользователей как "разрешенных" или "запрещенных"!
OriginalGriff
О боже, ты же студентка ... это же чертовски ужасный код.
Так много серьезных ошибок в таком маленьком куске кода.
Жестко закодированные строки подключения, код, подверженный SQL-инъекциям, несколько жестко закодированных строк подключения, поэтому они не всегда используются, против имен элементов управления по умолчанию, отсутствие согласованности в стиле кодирования, случайное использование блока "using", случайное использование блоков "try...catch"...
И это не показывает ничего полезного вообще, чтобы сделать с вашими пользователями.
Не публикуйте весь свой код, я не ваш наставник, и я не хочу пробираться через недокументированные вещи вроде этого, чтобы попытаться выяснить, что может быть уместным - это пустая трата моего времени. Вы хотите, чтобы я посмотрел на код, показал мне соответствующие биты, чтобы мне не пришлось искать их (и не мог критиковать остальное).
Member 14137624
если я нажму кнопку Удалить он должен спросить имя пользователя пароль а затем он должен разрешить удалить данные
OriginalGriff
И в чем, собственно, заключается ваша проблема?
(Я собираюсь проигнорировать "почему, черт возьми, вы думаете, что это было бы хорошей идеей для пользователя, чтобы делать это каждый раз?")