Code Bye

C#button判断三个textbox不为空则insert数据,每次都是插入2行,和解?

 

       if    (textBox2.Text.Length > 0 & textBox3.Text.Length>0&textBox4.Text.Length > 0)
            {
                cn.Open();
                cmd.Connection = cn;
                cmd.CommandText = (“insert into 部门基本信息表  values (“”” + textBox2.Text.Trim() + “””,””” + textBox3.Text.Trim() + “””,””” + textBox4.Text.Trim() + “””) “);
                cmd.ExecuteNonQuery();
                int i = cmd.ExecuteNonQuery();
                if (i > 0)
                {
                    MessageBox.Show(“新增成功”, “提示”);
                }
                else
                {
                    MessageBox.Show(“新增失败”, “提示”);
                }
                cn.Close();
                                           }
                 else 
            {
                MessageBox.Show(“新增信息不全”, “提示”);
                
            cn.Close();

每次三个textbox写入数据后点击新增都会插入重复的两行,搞不明白,新手菜鸟。请多赐教!

设置断点 调试  ,看这段代码调用了几次
50分
cmd.ExecuteNonQuery();
                int i = cmd.ExecuteNonQuery();
你这不很明显的执行了2次吗
cmd.ExecuteNonQuery();这个东西干啥的不知道就瞎写上去了?
20分
cmd.ExecuteNonQuery();
int i = cmd.ExecuteNonQuery();
你这不是两行是什么……
10分
 cmd.ExecuteNonQuery();
                int i = cmd.ExecuteNonQuery();
引用 2 楼 Z65443344 的回复:

cmd.ExecuteNonQuery();
                int i = cmd.ExecuteNonQuery();
你这不很明显的执行了2次吗

那我想要SQL命令执行完后有个提示框 应该怎么实现啊?

10分
int之前的一行删了
引用 6 楼 langyoujx 的回复:
Quote: 引用 2 楼 Z65443344 的回复:

cmd.ExecuteNonQuery();
                int i = cmd.ExecuteNonQuery();
你这不很明显的执行了2次吗

那我想要SQL命令执行完后有个提示框 应该怎么实现啊?

你不是都写了MessageBox.Show(“新增成功”, “提示”);了吗

10分
cmd.ExecuteNonQuery();
                int i = cmd.ExecuteNonQuery();
明显的两次执行,所以插入了两行
只需要将此两行改为一行int i = cmd.ExecuteNonQuery();
引用 6 楼 langyoujx 的回复:
Quote: 引用 2 楼 Z65443344 的回复:

cmd.ExecuteNonQuery();
                int i = cmd.ExecuteNonQuery();
你这不很明显的执行了2次吗

那我想要SQL命令执行完后有个提示框 应该怎么实现啊?

删除 cmd.ExecuteNonQuery();即可。

引用 6 楼 langyoujx 的回复:
Quote: 引用 2 楼 Z65443344 的回复:

cmd.ExecuteNonQuery();
                int i = cmd.ExecuteNonQuery();
你这不很明显的执行了2次吗

那我想要SQL命令执行完后有个提示框 应该怎么实现啊?

int i = cmd.ExecuteNonQuery(); 你这有i了啊
if(i>0)
{
message.box.show(“添加成功 !” );
}
else
{
message.box.show(“添加失败 !” );
}

ExecuteNonQuery执行一个SqlCommand返回操作影响的行数,这个多半是判断操作是否成功的,例如插入删除和更新操作,如果影响行数为0的话,则证明操作是不成功的。大于0证明操作成功

调用了两次。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#button判断三个textbox不为空则insert数据,每次都是插入2行,和解?