为什么在我提供数据的情况下数据库为什么会添加空值?

时间:2019-03-21 05:56:25

标签: c# mysql asp.net database model-view-controller

我将数据插入到textbox1和dropdown1中,但是数据仅保存在写在第二个位置“即本例中的c_name”的查询中。 C_name为空或插入空值。

protected void Button1_Click(object sender, EventArgs e)
{
    con.Open();
    MySqlCommand cmd = con.CreateCommand();

    cmd.CommandType = CommandType.Text;

    cmd.CommandText = "insert into market (m_name) values ('" + TextBox1.Text + "')";
    cmd.CommandText = "insert into city (c_name) values('" + DropDownList1.SelectedValue + "')";

    if (DropDownList1.SelectedValue == "-1")
    {
        Response.Write("Please select a city");
    }


    cmd.ExecuteNonQuery();
    con.Close();
}

1 个答案:

答案 0 :(得分:0)

您应该在第一个cmd.ExecuteNonQuery()之后cmd.CommandText,然后对第二个cmd.CommandText执行相同的操作,这两个查询都将执行其操作。

protected void Button1_Click(object sender, EventArgs e)
{
   if (DropDownList1.SelectedValue == "-1")
   {
       Response.Write("Please select a city");
       return; // Must return don't execute after 'if' part or use 'else' there
   }

   con.Open();
   MySqlCommand cmd = con.CreateCommand();

   cmd.CommandType = CommandType.Text;

   cmd.CommandText = "insert into market (m_name) values ('" + TextBox1.Text + "')";

   cmd.ExecuteNonQuery(); // First insert executed here

   cmd.CommandText = "insert into city (c_name) values('" + DropDownList1.SelectedValue + "')";

   cmd.ExecuteNonQuery(); // Second insert executed here
   con.Close();
}