-4

我有两个文本框和两个提交按钮。每个按钮都提交文本框中的信息,我希望有 1 个提交按钮,可以同时提交两个 texbox。问题是,如果一个文本框是空的,那么它会用空数据覆盖数据。如果文本框中有内容,我希望它只提交信息。一些伪代码可能会有所帮助:

  • 如果 textbox1 为空则什么也不做,如果 textbox2 有数据则更新数据库。
  • 如果 textbox1 有数据则更新 如果 textbox2 为空则不更新 textbox2。

这是我的代码,我希望我所说的有道理。

protected void Button3_Click(object sender, EventArgs e)
    {

            SqlConnection conns = new SqlConnection(ConfigurationManager.ConnectionStrings["TestDBConnectionString1"].ConnectionString);
            SqlCommand cmd = new SqlCommand("UPDATE test SET SitUps = @SitUps WHERE (Id = @Id)", conns);
            cmd.CommandType = CommandType.Text;
            Label IdL = ((Label)FormView1.FindControl("IdLabel"));
            cmd.Parameters.AddWithValue("@Id", IdL.Text);
            cmd.Parameters.AddWithValue("@SitUps", Sits.Text);
            conns.Open();
            cmd.ExecuteNonQuery();
            Label17.Text = "Successfully Submitted Sit-Ups!";

    }

    protected void Button4_Click(object sender, EventArgs e)
    {

            SqlConnection conns = new SqlConnection(ConfigurationManager.ConnectionStrings["TestDBConnectionString1"].ConnectionString);
            SqlCommand cmd = new SqlCommand("UPDATE test SET pushUps = @pushUps WHERE (Id = @Id)", conns);
            cmd.CommandType = CommandType.Text;
            Label IdL = ((Label)FormView1.FindControl("IdLabel"));
            cmd.Parameters.AddWithValue("@Id", IdL.Text);
            cmd.Parameters.AddWithValue("@pushUps", Push.Text);
            conns.Open();
            cmd.ExecuteNonQuery();
            Label18.Text = "Successfully Submitted Push-Ups!";

    }
4

2 回答 2

2

看起来您只需要在您尝试运行的每个块之前添加 if(Push.Text!="") 和 if(Sits.Text!="")

于 2012-09-05T21:42:55.940 回答
2

用这个替换它:

protected void Button_Click(object sender, EventArgs e)
    {
//check Sits and Push empty or not
if(Sits.Text!="") 
{
//update Sits here
}

if(Push.Text!="") 
 {
//update Push here
 }
    }
于 2012-09-05T22:00:05.240 回答