Как удалить записи с тем же именем, но другим идентификатором ?
Ну, у меня тут возникла ситуация, и я немного запутался в этой проблеме. Я знаю, как удалить строку из базы данных с помощью VB, но ситуация-это реальный сценарий.
допустим, в моей программе зарегистрированы два человека с одинаковым именем. Но другой идентификатор. И они совершенно разные люди.
Если я удалю по имени, то программа удалит их обоих. Если я хочу удалить по ID, то combobox, который я использовал для удаления, который дает вывод в виде имени вместо ID, приводит меня в замешательство.
Что же делать ?
Я добавил код, Пожалуйста, помогите избавиться от этой ситуации.
Любые идеи будут оценены по достоинству.
Подумайте о моем плохом английском.
Ты codeproject.
Что я уже пробовал:
Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click connection = New SqlConnection("SERVER=192.168.80.120,1433;USER ID=sa;PASSWORD=123456;DATABASE=gogreendb") Dim reader As SqlDataReader Try connection.Open() Dim query As String query = "DELETE from faculty WHERE name='" & ComboBox1.Text & "'" command = New SqlCommand(query, connection) reader = command.ExecuteReader MsgBox("Faculty no longer available") connection.Close() fac_dgv() fac_list() Catch ex As Exception MsgBox(ex.Message) Finally connection.Dispose() End Try End Sub
#realJSOP
WPF или WinForms? (WinForms-это гораздо больше хлопот).
Richard Deeming
В дополнение к уязвимости SQL-инъекции вы подключаетесь к базе данных следующим образом: sa
- Не делай этого!sa
это неограниченная учетная запись, которая может быть использована для уничтожения вашей базы данных, любой другой базы данных на сервере, самого сервера и, возможно, даже других компьютеров в сети.
Ваше приложение должно подключаться к определенной учетной записи пользователя, которая имеет только те разрешения, которые требуются вашему приложению.
Babai JermenKeller Sasmal
Ричард Im использует localdatabase с логином Windows по умолчанию. Я использовал их, чтобы объяснить свою строку подключения. На самом деле я использую модуль подключения со строкой.
Источник данных=(localdb)\v11.0;AttachDbFileName=G:\MyDatabase.mdf;Integrated Security=True
Тай за ответ, пожалуйста, реши мою проблему.
Maciej Los
Есть ли только идентификатор и имя конкретного человека? Представьте себе, есть тысячи Адамов. Как пользователь будет знать, какой Адам удалить, даже если он получит идентификатор каждого Адама?
Babai JermenKeller Sasmal
Мацей Лос, есть несколько доступных полей. Например, идентификатор значка, имя пользователя, уровень.
Допустим, там есть два Адама Уотсона
BadgeID: 1
Имя: Адам Уотсон
Имя Пользователя: AdamWatSon1
Уровень: 1 (факультет, где уровень разрешения факультета равен 1)
BadgeID: 2
Имя: Адам Уотсон
Имя Пользователя: AdamWatSon2
Уровень: 1 (факультет, где уровень разрешения факультета равен 1)
Если я хочу удалить этот факультет по имени, то моя программа удалит Адама Уотсона (ID: 1 и 2 Оба)
Надеюсь, я заставлю вас понять, в чем дело.
Я хочу удалить Адама Уотсона с идентификатором значка 2
Maciej Los
Кажется, ты меня не понимаешь. Вы можете забрать всех Адамов и вернуть их имена и badgeid. Тогда Вы сможете удалить того Адама, которого выберете сами.
Babai JermenKeller Sasmal
Ох. теперь я понимаю.