2014-10-11 14 views
0

Я пытаюсь вставить данные из своего веб-приложения ASP.NET в таблицу базы данных SQL Server (которую я ранее создал). Код, который у меня есть, кажется, не работает, появляется сообщение об ошибке, и фактические данные не отображаются в базу данных.Почему этот конкретный оператор INSERT терпит неудачу?

var conn = new SqlConnection("Data Source=SHRIYA\\SQLEXPRESS;Initial Catalog=…;Integrated Security=True"); 

var insert = new SqlCommand("Insert Into tblRegister(GenerateID,Name,Surname,ID_Number,Gender,Address,Postal_code,Phone_Number,Email,Password) values(@GenerateID,@Name,@Surname,@ID_Number,@Gender,@Address,@Postal_code,@Phone_Number,@Email,@Password", conn); 
insert.Parameters.AddWithValue("@GenerteID",lstuserID.SelectedIndex); 
insert.Parameters.AddWithValue("@Name", txtname.Text); 
insert.Parameters.AddWithValue("@Surname", txtsurname.Text); 
insert.Parameters.AddWithValue("ID_Number", txtid.Text); 
insert.Parameters.AddWithValue("@Gender", ddlgender.SelectedItem); 
insert.Parameters.AddWithValue("@Address", txtaddress.Text); 
insert.Parameters.AddWithValue("@Postal_code", txtpostalcode.Text); 
insert.Parameters.AddWithValue("@Phone_Number", txttele.Text); 
insert.Parameters.AddWithValue("@Email", txtEmail.Text); 
insert.Parameters.AddWithValue("@Password", txtpassword); 

try 
{ 
    conn.Open(); 
    insert.ExecuteNonQuery(); 
} 
catch (Exception) 
{ 
    ScriptManager.RegisterStartupScript(this, GetType(), "error", "alert('Error When Saving');", true); 
} 
conn.Close(); 
+2

Что такое сообщение об ошибке? – Shaharyar

+0

Вы должны проверить [Может ли мы перестать использовать AddWithValue() уже?] (Http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/) и перестать использовать '.AddWithValue()' - это может привести к неожиданным и неожиданным результатам ... –

+0

@ShriyaBramdeo: Вы рассматривали последствия хранения паролей ('@ Password') как текстовые? Потребуем минутку, чтобы прочитать это: [** «Возможно, вы неправильно храните пароли» **) (http://blog.codinghorror.com/youre-probably-storing-passwords-incorrectly/); и, возможно, это: [«Давайте поговорим о хранилище паролей»] (http://blog.mozilla.org/webdev/2012/06/08/lets-talk-about-password-storage/). – stakx

ответ

1
  1. Одна ошибка заключается в использовании txtpassword (то есть элемент управления пользовательского интерфейса в целом) в качестве значения для SqlParameter. Замените его txtpassword.Text (то есть текстовое значение, введенное в элементе управления пользовательского интерфейса):

    insert.Parameters.AddWithValue("@Password", txtpassword.Text); 
    
  2. Ваша команда SQL отсутствует текст закрывающей скобки ) для VALUES (:

    SqlCommand insert = new SqlCommand("Insert Into 
    tblRegister(GenerateID,Name,Surname,ID_Number,Gender,Address, 
    Postal_code,Phone_Number,Email,Password) 
    values(@GenerateID,@Name,@Surname,@ID_Number,@Gender,@Address, 
    @Postal_code,@Phone_Number,@Email,@Password)", conn); 
    //          ^
    
+0

Я пробовал это, и он по-прежнему не сохраняется на сервере SQL. Может ли быть проблема с моим SQL Server? –

+0

Любая ошибка Вы получаете –

+0

Сообщение об ошибке, которое я установил, если данные не удалось сохранить. –

0
SqlCommand insert = new SqlCommand("Insert Into tblRegister(GenerateID,Name,Surname,ID_Number,Gender,Address,Postal_code,Phone_Number,Email,Password) values(@GenerateID,@Name,@Surname,@ID_Number,@Gender,@Address,@Postal_code,@Phone_Number,@Email,@Password", conn); 

Синтаксис SQL неверен.

Отсутствует ) по последнему параметру @Password.

SqlCommand insert = new SqlCommand("Insert Into tblRegister(GenerateID,Name,Surname,ID_Number,Gender,Address,Postal_code,Phone_Number,Email,Password) values(@GenerateID,@Name,@Surname,@ID_Number,@Gender,@Address,@Postal_code,@Phone_Number,@Email,@Password)", conn); 
+0

Я пробовал, что он все еще кажется не вставляемым данные в таблицу SQL –

1
insert.Parameters.AddWithValue("ID_Number", txtid.Text); 

Это должно быть

insert.Parameters.AddWithValue("@ID_Number", txtid.Text); 
+1

Другие ошибки были отмечены другими людьми –

Смежные вопросы