这段代码,在sql命令后继承应该带我到一个页面,失败时会显示错误页面。每当我通过表单插入值时,它会将我带到错误页面。不知怎的,我的物品没有被插入。帮助将不胜感激
public partial class StudentManage : System.Web.UI.Page
{
protected void Add_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Database"].ConnectionString);
con.Open();
// here added "@" to write continuous strind in new line
SqlCommand cmd = new SqlCommand(@"INSERT INTO ManageStudents(StudentName, StudentEmail, StudentAddress, StudentCity) VALUES(@name, @email, @address, @city)",con);
cmd.Parameters.AddWithValue("@name", txtStudentName.Text);
cmd.Parameters.AddWithValue("@email", txtStudentEmail.Text);
cmd.Parameters.AddWithValue("@address", txtStudentAddress.Text);
cmd.Parameters.AddWithValue("@city", txtStudentCity.Text);
SqlDataAdapter da1 = new SqlDataAdapter(cmd);
DataTable dt2 = new DataTable();
da1.Fill(dt2);
if (dt2.Rows.Count > 0)
{
Response.Write("Table Updated");
Response.Redirect("StudentManage.aspx");
}
else
{
Response.Redirect("Error.aspx");
//ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>");
}
}
}
答案 0 :(得分:3)
要执行INSERT,UPDATE或DELETE语句,您需要使用ExecuteNonQuery()
方法而不是DataTable。
var result = cmd.ExeuteNonQuery();
if(result > 0)
{
Response.Write("Table Updated");
Response.Redirect("StudentManage.aspx");
}
// ...
答案 1 :(得分:0)
我认为这是一个测试项目,因为你的代码有三个主要问题,
我希望这能帮到你