SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ebookConnectionString"].ConnectionString);
con.Open();
string insert = "insert into ebook(Name,Email,Passeword,Mobile No.)values (@name,@email,@password,@dob,@mobile no.))";
SqlCommand cmd = new SqlCommand(insert, con);
cmd.Parameters.AddWithValue("@name", TextBox1.Text);
cmd.Parameters.AddWithValue("@email", TextBox2.Text);
cmd.Parameters.AddWithValue("@password", TextBox3.Text);
cmd.Parameters.AddWithValue("@dob", TextBox6.Text);
cmd.Parameters.AddWithValue("@mobile no.", TextBox5.Text);
int rd = cmd.ExecuteNonQuery();
Response.Redirect("manger.aspx");
con.Close();
答案 0 :(得分:5)
你不能拥有像“移动号码”这样的参数名称。 - 没有空格,没有像点等特殊字符 - 请改用@MobileNo
。
如果您的SQL Server列包含特殊字符和空格 - 必须将它们括在方括号[Mobile No.]
所以使用这个:
string insert = "insert into ebook(Name, Email, Passeword, [Mobile No.]) " +
"values (@name, @email, @password, @dob, @mobileno)";
.....
cmd.Parameters.AddWithValue("@mobileno", TextBox5.Text);
此外,请检查一下,避免使用.AddWithValue()
:
Can we stop using AddWithValue() already?并停止使用.AddWithValue()
- 这会导致意外和令人惊讶的结果......
答案 1 :(得分:0)
虽然根据你的问题没有相关性,@“marc_s”已经解释过参数名称不应该有中间空格 - 这是正确的,我投票支持但是我想在你的代码中强调一些其他必要的修改。关闭SqlConnection
并仅在重定向页面后,否则将永远不会执行con.Close();
。
con.Close();
Response.Redirect("manger.aspx");