开发者

On load event problem

I have a problem when I want to update a row in a database. The page that updates also adds a client but the problem is that when page load detects update button was pressed it seems to keep loading up the variables and I am unable to update my database.

public partial class CustomerInput : System.Web.UI.Page
{
    string update, Id, Name, Address, Suburb, Pos开发者_如何学编程tcode, Age, Email;

    protected void Page_Load(object sender, EventArgs e)
    {
        update = Request.QueryString["Update"];
        if (update == "true")
        {
            SqlConnection connection = new SqlConnection("server=localhost; uid=xxxx; pwd=xxxx; database=Customer");
            Button1.Text = "Update";

            Id = Request.QueryString["Id"];
            connection.Open();

            SqlCommand command = new SqlCommand("Select * from Customer where Id = " + Id, connection);

            SqlDataReader read = command.ExecuteReader();
            read.Read();
            TextBox1.Text = read[1].ToString();
            TextBox2.Text = read[2].ToString();
            TextBox3.Text = read[3].ToString();
            TextBox4.Text = read[4].ToString();
            TextBox5.Text = read[5].ToString();
            TextBox6.Text = read[6].ToString();

            connection.Close();
            update = string.Empty;
        }

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection connection = new SqlConnection("server=localhost; uid=xxxx; pwd=xxxx; database=Customer");

        if (Button1.Text == "Update")
        {
            connection.Open();
            SqlCommand command;

            Name = TextBox1.Text;
            Address = TextBox2.Text;
            Suburb = TextBox3.Text;
            Postcode = TextBox4.Text;
            Age = TextBox5.Text;
            Email = TextBox6.Text;


            command = new SqlCommand("UPDATE Customer SET Name = " + "'" + Name + "', " + "Address = " + "'" + Address + "', " + "Suburb = " + "'" + Suburb + "', "
                    + "Postcode = " + "'" + Postcode + "', " + "Age = " + "'" + Age + "', " + "Email = " + "'" + Email + "' " + "Where Id =" + Id, connection);

            command.ExecuteNonQuery();
            connection.Close();

        }
        if (Button1.Text == "New Client")
        {
            Name = TextBox1.Text;
            Address = TextBox2.Text;
            Suburb = TextBox3.Text;
            Postcode = TextBox4.Text;
            Age = TextBox5.Text;
            Email = TextBox6.Text;

            Response.Write("Blah");

            SqlCommand command = new SqlCommand("INSERT INTO Customer VALUES (" + "'" + Name + "'" + ", " +  "'" + Address + "'"  + ", " +  "'" + Suburb + "'"  + ", " 
                +  "'" + Postcode + "'"  + ", " +  "'" + Age + "'"  + ", " +  "'" + Email + "'"  + ")", connection);

            command.ExecuteNonQuery();
        }

        Button1.Text = "New Client";
    }
}

}


At the start of your page load event you need to add an if statement to check if this is the first time the page loads:

example:

if (!IsPostBack)
{
    ... add your code here
}


I guess you need to use Page.IsPostBack:

if (Page.IsPostBack)
{
     // Do Something ..
{
else
{
     // Do something else ..

}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜