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);
}
}
他弹出的对话框是 点击是的时候就新增了
我感觉应该是点击否啊
哪位高手指点一下谢谢!
{//新增水电气费
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);
}
}
他弹出的对话框是 点击是的时候就新增了
我感觉应该是点击否啊
哪位高手指点一下谢谢!
解决方案 »
- 客户端发现响应内容类型为“text/plain”,但应为“text/xml”.
- windows from中的listView如何通过item项的值选中该项
- 大家进来看看这个问题
- vs2005 C#+Access数据库,向表里增加记录,日期时间值怎么写不到日期时间字段里?
- C# winform下的几大难题?高分求救!
- C# 速成版 该用什么 报表
- flash的显示 高手进
- 提示未能访问cdo.message是什么原因呢,怎么解决?
- 关于FileStream的!请高手进来看下!
- 通常一个计算机专业的研究生或博士会去到什么水平???
- 【原创】C#深入剖析(2)——析构函数
- 非常奇怪的关于异步调用的问题,EndInvoke被多次调用,很纠结。。。
{
return;
}
点否就进if了, 进if就return了 return 后面还怎么运行?
这是正常的逻辑啊!
No 了就是不继续了 当然return了
{ }
else
return;
string MyAddInfo = "现在将新增指定月份的水电气费数据,是否继续?";
if (MessageBox.Show(MyAddInfo, "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult .No )(这里是我的问题为什么是DialogResult .No 而不是DialogResult .Yes)
{
return;
}逻辑中做了反面判断,即:当用户点击了对话框中“否”按钮时,任何后续逻辑不再被执行。对话框中的提示为询问用户是否继续,既然用户选择了“否”,那么以后任何的执行都该终止。关键字 return 的作用就是这个意思。
是return的这个我一直忽略了