C# SQL 用insert into 会有2条相同的记录??,不同的窗体都一样会有这个现象

点击buuton1,居然插入了2个记录,求解。
测试过插入语句,在数据库运行只会生成一行数据。
"INSERT into J_mtrldef ([mtrlid],[mtrlname],[mode]) values('" + textBox3.Text.Trim() + "','" + textBox2.Text.Trim() + "','" + textBox1.Text.Trim() + "')";
另外查阅了数据库没有相关的存储过程、触发器等。
获取返回受影响的行数时,显示的也是1
求高手指教
以下是点击语句:
try
{
Con1.Open();
string addsql = "INSERT into J_mtrldef ([mtrlid],[mtrlname],[mode]) values('" + textBox3.Text.Trim() + "','" + textBox2.Text.Trim() + "','" + textBox1.Text.Trim() + "')";
SqlCommand myCommand11 = new SqlCommand(addsql, Con1);
myCommand11.ExecuteNonQuery();
if (myCommand11.ExecuteNonQuery()==1)
{
iMessageBox.Show("保存成功,是否继续新增物料?")

Con1.Close();

}
else
{
MessageBox.Show("保存失败,请重试或者联系技术人员!");
Con1.Close();
}

                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }

打断点看看是否执行了两次

看代码没有问题啊,设断点看下能不能捕捉什么异常;要不然你是点了两下button

在数据添加进数据库时...可以加上一个验证啊..

myCommand11.ExecuteNonQuery();
if (myCommand11.ExecuteNonQuery()==1)
是不是因为这里个ExecuteNonQuery()方法调用了两次?

myCommand11.ExecuteNonQuery();
if (myCommand11.ExecuteNonQuery()==1)只要一个就够了

看代码的话应该只会插入一条记录啊,要不然是执行了两次,可以调试看看,另外推荐楼主用变量来代替连接字符串,参数化编程

图片说明明显执行两次了。