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

langyoujx 2015-04-27 09:47:46
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写入数据后点击新增都会插入重复的两行,搞不明白,新手菜鸟。请多赐教!
...全文
203 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
langyoujx 2015-04-28
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
cmd.ExecuteNonQuery(); int i = cmd.ExecuteNonQuery(); 你这不很明显的执行了2次吗
那我想要SQL命令执行完后有个提示框 应该怎么实现啊?
-小蕾- 2015-04-28
  • 打赏
  • 举报
回复
cmd.ExecuteNonQuery(); int i = cmd.ExecuteNonQuery();
  • 打赏
  • 举报
回复
cmd.ExecuteNonQuery(); int i = cmd.ExecuteNonQuery(); 你这不是两行是什么……
於黾 2015-04-28
  • 打赏
  • 举报
回复
cmd.ExecuteNonQuery();这个东西干啥的不知道就瞎写上去了?
於黾 2015-04-28
  • 打赏
  • 举报
回复
cmd.ExecuteNonQuery(); int i = cmd.ExecuteNonQuery(); 你这不很明显的执行了2次吗
fly_lalala 2015-04-28
  • 打赏
  • 举报
回复
设置断点 调试 ,看这段代码调用了几次
卧_槽 2015-04-28
  • 打赏
  • 举报
回复
调用了两次。
蜗牛慢慢趴 2015-04-28
  • 打赏
  • 举报
回复
引用 6 楼 langyoujx 的回复:
[quote=引用 2 楼 Z65443344 的回复:] cmd.ExecuteNonQuery(); int i = cmd.ExecuteNonQuery(); 你这不很明显的执行了2次吗
那我想要SQL命令执行完后有个提示框 应该怎么实现啊?[/quote] int i = cmd.ExecuteNonQuery(); 你这有i了啊 if(i>0) { message.box.show(“添加成功 !" ); } else { message.box.show("添加失败 !" ); } ExecuteNonQuery执行一个SqlCommand返回操作影响的行数,这个多半是判断操作是否成功的,例如插入删除和更新操作,如果影响行数为0的话,则证明操作是不成功的。大于0证明操作成功
xian_wwq 2015-04-28
  • 打赏
  • 举报
回复
引用 6 楼 langyoujx 的回复:
[quote=引用 2 楼 Z65443344 的回复:] cmd.ExecuteNonQuery(); int i = cmd.ExecuteNonQuery(); 你这不很明显的执行了2次吗
那我想要SQL命令执行完后有个提示框 应该怎么实现啊?[/quote] 删除 cmd.ExecuteNonQuery();即可。
john_QQ:2335298917 2015-04-28
  • 打赏
  • 举报
回复
只需要将此两行改为一行int i = cmd.ExecuteNonQuery();
john_QQ:2335298917 2015-04-28
  • 打赏
  • 举报
回复
cmd.ExecuteNonQuery(); int i = cmd.ExecuteNonQuery(); 明显的两次执行,所以插入了两行
於黾 2015-04-28
  • 打赏
  • 举报
回复
引用 6 楼 langyoujx 的回复:
[quote=引用 2 楼 Z65443344 的回复:] cmd.ExecuteNonQuery(); int i = cmd.ExecuteNonQuery(); 你这不很明显的执行了2次吗
那我想要SQL命令执行完后有个提示框 应该怎么实现啊?[/quote] 你不是都写了MessageBox.Show("新增成功", "提示");了吗
正宗熊猫哥 2015-04-28
  • 打赏
  • 举报
回复
int之前的一行删了

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧