删除选中行,总是删除datagridview中第一条

dabao_0312 2013-03-19 04:08:53
private void btn_Del_Click(object sender, EventArgs e)
{
if (MessageBox.Show("确认要删除吗?", "删除后不可恢复", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
Current = dataGridView1.CurrentCell.RowIndex; //当前选中行
string strID = dataGridView1.Rows[Current].Cells[12].Value.ToString().Trim();
string strSql = "delete from gps where cstr(编号)=" + strID ;
OleDbConnection conn = GetConnection();
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand(strSql, conn);
int a = cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
throw ex;
}

}
Admin_Activated(null, null);
}
...全文
260 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
搬砖的码农 2013-03-19
  • 打赏
  • 举报
回复
如果是删除后想在dataGridView1中剔除那一行,在执行完删除语句后不需要重新加载,只需要在原有的基础上移除就可以了。 例:dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index); //剔除已删除的项(注:不需重新加载,提高效率) ,可以提高效率
搬砖的码农 2013-03-19
  • 打赏
  • 举报
回复
引用 10 楼 dabao_0312 的回复:
我想让子窗体调用一下父窗体的form_load就可以了 如何写呢?
可以把父窗体的代码放在一个方法里,然后在父窗体中调用,子窗体也可以调用
dabao_0312 2013-03-19
  • 打赏
  • 举报
回复
Activated是做什么的?只要窗体有活动就会执行它
王子文龙 2013-03-19
  • 打赏
  • 举报
回复
引用 2 楼 dabao_0312 的回复:
找到问题了,是因为我用了一个 C# code ? 12345 private void Admin_Activated(object sender, EventArgs e) { Admin_Load(null,null); dataGridView1.Refresh(); }
这是你之后调用的方法,跟你前面删除有什么关系,这个只是重新绑定了
dabao_0312 2013-03-19
  • 打赏
  • 举报
回复
我想让子窗体调用一下父窗体的form_load就可以了 如何写呢?
爱在今世 2013-03-19
  • 打赏
  • 举报
回复
sql语句都是错的,不知道你怎么能运行的
string strSql = "delete from gps where cstr(编号)='"+strID+"'";
搬砖的码农 2013-03-19
  • 打赏
  • 举报
回复
引用 6 楼 tossgoon 的回复:
断点。一般这种问题是粗心问题。
粗心导至的问题可以通过自己调试找到问题之源,还是容易改正的;不过老粗心就不怎么好了,容易因为一点小问题把自己搞崩溃
搬砖的码农 2013-03-19
  • 打赏
  • 举报
回复
Current = dataGridView1.CurrentRow.Index; //当前选中的行
tossgoon 2013-03-19
  • 打赏
  • 举报
回复
断点。一般这种问题是粗心问题。
清明_ 2013-03-19
  • 打赏
  • 举报
回复
引用 3 楼 superwfei 的回复:
C# code?1Current = dataGridView1.SelectedCells[0].OwningRow.Index; //当前选中行
清明_ 2013-03-19
  • 打赏
  • 举报
回复
当前选中行错了
文盲老顾 2013-03-19
  • 打赏
  • 举报
回复
Current = dataGridView1.SelectedCells[0].OwningRow.Index; //当前选中行   
dabao_0312 2013-03-19
  • 打赏
  • 举报
回复
找到问题了,是因为我用了一个
private void Admin_Activated(object sender, EventArgs e)
        {
            Admin_Load(null,null);
            dataGridView1.Refresh();
        } 
搬砖的码农 2013-03-19
  • 打赏
  • 举报
回复
设断点,查看Current是否获取到你要删除的行的编号;还有如果数据库中不是数字要加单引号
vs2015+数据库,需要建的数据表如下: 1. “考试成绩管理系统用户登录”功能 具体要求: (1) 按照图示排列相应的控件,控件名称自定义,其,界面的图片可以不加; (2) 当输入正确的用户名和密码时,登录到主系统,如图所示,并且用户名或密码输入不正确时系统有所提示;当单击【取消】按钮时,用户名和密码被清空; (3) 程序用到的数据库名为SCOREINFO,数据表名为userinfo,数据表结构如下图所示: (4) 数据表的用户名和密码如下图。 2. 点击主窗体的“密码修改”菜单,完成“密码修改”功能,程序运如下图所示: 具体要求: (1)此题必须使用数据库连接完成,原始密码必须为数据表里原有的数据,不使用数据库完成的为0分。 (2)需要建立数据库SCOREINFO及数据表userinfo,表的结构及数据第一部分的内容: (3)要有“原始密码输入错误”、“原始密码不能为空”及“两次输入密码不一致”的错误提示; (4)当单击【保存】按钮,新密码被更新到数据表,不能更新的为0分; (5)单击【关闭】按钮,窗口关闭。 (6)3个Label;3个TextBox;2个Button 3. 完成“成绩查询”功能,程序运如下图所示: 具体要求: (1) 按照图示排列相应的控件,界面下方是DataGridView控件; (2)程序用到的数据库名为SCOREINFO,数据表名为score,表结构如下: (3)完成的MainForm_Load事件处理程序:当加载窗体时,直接在窗体的dataGridView1控件显示数据表的所有记录; (4)可以设查询条件:首先在组合框comboBox1选择查询条件,并在textBox1输入条件值(可以模糊查询,如按照姓名查询时,输入“王”,可以查所有姓王的同学的成绩),单击查询将结果显示在dataGridView1控件。 (5)所需控件及属性:1个GroupBox,1个Label,Text为选择查询条件;1个ComboBox(Items:学号、姓名);1个TextBox;1个Button,Text为查询;1个DataGridView 4. 完成“课程信息修改”功能,程序运如下图所示: 具体要求: (1)按照图示排列相应的控件,控件名称自定义,其,程序刚开始运时,“学分”和“课程编码”的文本框是只读的; (2)在数据库名为SCOREINFO,创建数据表名为course,表结构如下: (3)当单击【查询】时,直接在窗体的dataGridView2控件显示数据表的所有记录; (4)当DataGridView控件的某一记录时(DataGridView控件的Mouse_Click事件),“课程名字”、“学分”、“课程代码”文本框分别显示该项对应的课程信息; (5)当某一记录并单击【编辑】按钮时,【编辑】按钮变为【保存修改】,同时“学分”和“课程编码”的文本框恢复正常(ReadOnly属性为false);在文本框修改相应的信息后单击【保存修改】,将修改后的数据更新到数据表。 (6)所需控件及属性:1个GroupBox,3个Label;3个TextBox(textBox2属性ReadOnly为True,textBox3属性ReadOnly为True);2个Button;1个DataGridView 5. 完成“课程信息删除”功能,程序运如下图所示: 具体要求: (1)按照图示排列相应的控件,控件名称自定义,其,程序刚开始运时,“学分”和“课程编码”的文本框是只读的; (2)数据表名为course,表结构同第4部分: (3)当单击【查询】时,直接在窗体的dataGridView控件显示数据表的所有记录; (4)当DataGridView控件的某一记录时,“课程名字”、“学分”、“课程代码”文本框分别显示该项对应的课程信息; (5)当某一记录并单击【删除】按钮时,则该从数据表删除。 (6)所需控件:3个Label;3个TextBox(textBox2属性ReadOnly为True,textBox3属性ReadOnly为True);2个Button;1个DataGridView 6. 完成“课程信息添加”功能,程序运如下图所示: 具体要求: (1)按照图示排列相应的控件,控件名称自定义; (2)程序用到的数据库和数据表名为course,表结构如下同第四部分: (3)当单击【查询】时,直接在窗体的dataGridView1控件显示数据表的所有记 (4)当DataGridView控件的某一记录时,“课程名字”、“学分”、“课程代码”文本框分别显示该项对应的课程信息; (5)当单击【添加】按钮时,在文本框添加新的内容并将新内容添加到数据表,并且在DataGridView控件显示出新的课程信息 (6)所需控件:3个Label;3个TextBox;2个Button;1个DataGridView

110,536

社区成员

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

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

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