private void 新增ToolStripButton_Click(object sender, EventArgs e)
        {//新增水电气费
            string MyAddInfo = "现在将新增指定月份的水电气费数据,是否继续?";
            if (MessageBox.Show(MyAddInfo, "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult .No )(这里是我的问题为什么是DialogResult .No 而不是DialogResult .Yes)
            {
                return;
            }
            String MySQLConnectionString = global::MyCommunity.Properties.Settings.Default.DBCommunityConnectionString;
            SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);
            MyConnection.Open();
            string MySQL = "Select Count(*) From 水电气费 WHERE 计费年份=" + this.计费年份ToolStripComboBox.Text + " AND 计费月份=" + this.计费月份ToolStripComboBox.Text + " AND 费用类型='" + this.费用类型ToolStripComboBox.Text + "' AND 楼栋名称='" + this.楼栋名称ToolStripComboBox.Text+ "'";
            SqlCommand MyCommand = MyConnection.CreateCommand();
            MyCommand.CommandText = MySQL;
            string MyCount = MyCommand.ExecuteScalar().ToString();
            if (Convert.ToInt16(MyCount) == 0)
            {//插入新月份费用的业主基本信息
                MySQL = "INSERT INTO 水电气费 (楼栋名称,业主编号,业主姓名) SELECT 楼栋名称,业主编号,业主姓名 FROM 业主信息 WHERE (业主编号 NOT IN (SELECT 业主编号 FROM dbo.迁出信息)) AND (楼栋名称='" + this.楼栋名称ToolStripComboBox.Text + "')";
                MyCommand.CommandText = MySQL;
                MyCommand.ExecuteNonQuery();
                MySQL = "UPDATE 水电气费 SET 登记标志='正在登记',费用类型='" + this.费用类型ToolStripComboBox.Text + "',计费年份=" + this.计费年份ToolStripComboBox.Text + ",计费月份=" + this.计费月份ToolStripComboBox.Text+ " WHERE 登记标志 IS NULL";
                MyCommand.CommandText = MySQL;
                MyCommand.ExecuteNonQuery();
                int MyLastMonth = Convert.ToInt16(this.计费月份ToolStripComboBox.Text) - 1;
                int MyLastYear = Convert.ToInt16(this.计费年份ToolStripComboBox.Text);
                if (MyLastMonth == 0)
                {
                    MyLastMonth = 12;
                    MyLastYear = Convert.ToInt16(this.计费年份ToolStripComboBox.Text) - 1;
                }
                //将上月止数作为新月份底数
                MySQL = "Select 楼栋名称,业主编号,业主姓名,计费年份,计费月份,费用类型,表编号,表底数,表止数,计费单价 FROM 水电气费 WHERE 计费年份=" + MyLastYear.ToString() + " AND 计费月份=" + MyLastMonth.ToString() + " AND 费用类型='" + this.费用类型ToolStripComboBox.Text + "' AND 楼栋名称='" + this.楼栋名称ToolStripComboBox.Text+ "' AND 登记标志='完成登记'";
                DataTable MyComputeTable = new DataTable();
                SqlDataAdapter MyAdatper = new SqlDataAdapter(MySQL, MyConnection);
                MyAdatper.Fill(MyComputeTable);
                foreach (DataRow MyRow in MyComputeTable.Rows)
                {
                    string My楼栋名称 = MyRow[0].ToString();
                    string My业主编号 = MyRow[1].ToString();
                    string My业主姓名 = MyRow[2].ToString();
                    string My计费年份 = MyRow[3].ToString();
                    string My计费月份 = MyRow[4].ToString();
                    string My费用类型 = MyRow[5].ToString();
                    string My表编号 = MyRow[6].ToString();
                    string My表底数 = MyRow[7].ToString();
                    string My表止数 = MyRow[8].ToString();
                    string My计费单价 = MyRow[9].ToString();
                    MySQL = "UPDATE 水电气费 SET 表编号='" + My表编号 + "',表底数=" + My表止数 + ",计费单价=" + My计费单价 + " WHERE 计费年份=" + this.计费年份ToolStripComboBox.Text + " AND 计费月份=" + this.计费月份ToolStripComboBox.Text + " AND 费用类型='" + this.费用类型ToolStripComboBox.Text + "' AND 楼栋名称='" + this.楼栋名称ToolStripComboBox.Text + "' AND 业主编号='" + My业主编号 + "'";
                    MyCommand.CommandText = MySQL;
                    MyCommand.ExecuteNonQuery();
                }
            }
            if (MyConnection.State == ConnectionState.Open)
            {
                MyConnection.Close();
            }
            try
            {
                this.水电气费TableAdapter.Fill(this.dBCommunityDataSet.水电气费, 楼栋名称ToolStripComboBox.Text, new System.Nullable<int>(((int)(System.Convert.ChangeType(计费年份ToolStripComboBox.Text, typeof(int))))), new System.Nullable<int>(((int)(System.Convert.ChangeType(计费月份ToolStripComboBox.Text, typeof(int))))), 费用类型ToolStripComboBox.Text, "正在登记");
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
        }
他弹出的对话框是 点击是的时候就新增了
我感觉应该是点击否啊
哪位高手指点一下谢谢!

解决方案 »

  1.   

    如果用户点击的是DialogResult.No所以退出。这个写法避免了
    if(....== DialogResult.Yes)
    {
        这里所有代码的缩进不好看。
    }
      

  2.   

    if (MessageBox.Show(MyAddInfo, "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult .No )(这里是我的问题为什么是DialogResult .No 而不是DialogResult .Yes)
    LZ,你把DialogResult .No 设成DialogResult .Yes不就变成YES了么?~~~~~~
      

  3.   

    如果用户选择“NO”,则 Return 返回到调用 新增ToolStripButton_Click() 方法的地方,也就是说
    不再执行 
    ==================================  
    if (MessageBox.Show(MyAddInfo, "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult .No )(这里是我的问题为什么是DialogResult .No 而不是DialogResult .Yes)
      {
      return;
      }
    ==================================
    后面的代码。
    如果选择YES 的话,那你应该将其后面的代码放到上面的{} 中。
      

  4.   

    你把它改成YES,然后调试下,自己感觉下有什么区别