我想從我的ASP.NET Web應用程序插入數據到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();
什麼是錯誤訊息? – Shaharyar 2014-10-11 06:57:29
你應該看看[我們可以停止使用AddWithValue()了嗎?](http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/)並停止使用'.AddWithValue()' - 它可能會導致意想不到的和令人驚訝的結果... – 2014-10-11 07:32:06
@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 2014-10-11 07:55:22