Параметры
Если вы используете ODBC, вы должны назвать свои переменные @xyz, поэтому
UPDATE tblUsers SET FirstName = @FirstName, ... WHERE xyz
и добавьте параметры, подобные этому
cmd.Parameters.Add("@FirstName", ...)
Просто для полноты, если вы используете коннекторы MySQL, SQL должен читать
UPDATE tblUsers SET FirstName = ?FirstName, ... WHERE xyz
и добавьте параметры, подобные этому (без '?'!)
cmd.Parameters.Add("FirstName", ...)
Имя пользователя, проверка электронной почты
Основной подход заключается в том, чтобы выполнить SELECT для имени пользователя и / или электронной почты, а затем выполнять обновление только в том случае, если это не дает результатов, но там вы можете сделать это одним оператором, подобным следующему:
UPDATE tblUsers SET ... WHERE UserId= @userId AND Email = @Email AND UserName = @UserName
Таким образом, обновление будет работать только в том случае, если адрес электронной почты и имя пользователя совпадают с указанными в параметрах.
Затем вы можете использовать int из ExecuteNonQuery, чтобы проверить, была ли запись изменена (результат> 0) или ничего не было изменено (результат = 0). Если ничего не было изменено, то адрес электронной почты и имя пользователя не совпадали. (Предупреждение: если вы введете неправильный идентификатор пользователя, это также вернет результат = 0!)
НТН
Alex