Как решить эту проблему? Неправильный синтаксис рядом с '@'.
Я пишу запрос на обновление в asp.net-да. когда я обновляю его, он показывает
Incorrect syntax near '@
ошибка здесь
Line 82: cmd.Parameters.AddWithValue("@repass", repass.Text); Line 83: cmd.Parameters.AddWithValue("@imagelink", imagelink); Line 84: cmd.ExecuteNonQuery(); Line 85: con.Close(); Line 86:
мое определение таблицы:
Regist_ID numeric(18, 0) Unchecked Name nvarchar(100) Unchecked ParentsName nvarchar(100) Checked DOB nvarchar(MAX) Checked Gender nvarchar(MAX) Checked ContactsNo nvarchar(50) Checked EmailID nvarchar(100) Checked Address nvarchar(MAX) Checked Hobbies nvarchar(MAX) Checked Password nvarchar(50) Checked Re_Password nvarchar(50) Checked Profile_IMG nvarchar(MAX) Checked
Что я уже пробовал:
SqlConnection con = new SqlConnection(@"Data Source=Home-PC\SQLEXPRESS;Initial Catalog=KARATE-ACADEMY;Integrated Security=True"); con.Open(); String update = "update StdRegistration_db set Name= @name,ParentsName= @parentsname,DOB= @DOB,Gender=@Gender,ContactsNo= @contacts ,EmailID= @email,Address=address @,Hobbies= @activity,Password= @password,Re_Password= @repass ,Profile_IMG= @imagelink where Name='" + Session["Name"].ToString() + "'"; SqlCommand cmd = new SqlCommand(update, con); cmd.Parameters.AddWithValue("@name", name.Text); cmd.Parameters.AddWithValue("@parentsname", parentsname.Text); cmd.Parameters.AddWithValue("@DOB", DOB.Text); cmd.Parameters.AddWithValue("@Gender", Gender); cmd.Parameters.AddWithValue("@contacts", contacts.Text); cmd.Parameters.AddWithValue("@email", email.Text); cmd.Parameters.AddWithValue("@address", address.Text); cmd.Parameters.AddWithValue("@activity", activity); cmd.Parameters.AddWithValue("@password", password.Text); cmd.Parameters.AddWithValue("@repass", repass.Text); cmd.Parameters.AddWithValue("@imagelink", imagelink); cmd.ExecuteNonQuery(); con.Close();
Richard MacCutchan
Я не думаю, что вам нужны символы " @ ‘ в именах параметров. Проверьте документацию, чтобы быть уверенным.
Member 14083059
сэр я пишу тот же запрос его работа хорошо подходит для вставки
Richard MacCutchan
Моя ошибка, но вы не объяснили, на какое утверждение ссылается сообщение об ошибке.
CHill60
Посмотрев на запрос еще раз, вы, по-видимому, храните пароли в виде обычного текста в своей базе данных. Это очень плохая практика. Смотрите эти статьи, чтобы понять, почему и что с этим делать
Хранение паролей: как это сделать.[^]
Соленое хэширование паролей - делаем это правильно[^]
Richard Deeming
Почему вы используете nvarchar(max)
для Gender
колонна? Даже если вы хотите быть таким же инклюзивным, как Facebook, и предоставить пользователю 71 вариант на выбор, ни один из них не понадобится 1 миллиард символов описать их.
И предполагая, что DOB
это дата рождения пользователя, вы должны хранить ее как date
- это не веревка. Мало того, что правильный тип данных займет меньше места, он также позволит избежать недопустимых или неоднозначных дат в вашей базе данных.
MadMyche
Слишком много nvarchar(Макс)