C# 增加一个button删除dataGridView1中选择行的数据,单击button事件中代码如何写?

privatevoidForm1_Load(objectsender,EventArgse){stringselectCmd="Select*fromMEMBER";st... private void Form1_Load(object sender, EventArgs e)
{
string selectCmd = "Select * from MEMBER";
string connStr =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MEMBERDB.mdb";
OleDbConnection conn;
OleDbDataAdapter myAdapter;
DataSet myDataSet = new DataSet();
conn = new OleDbConnection(connStr);
conn.Open();
myAdapter = new OleDbDataAdapter(selectCmd, conn);
myAdapter.Fill(myDataSet, "MEMBER");
cboId.DataSource = myDataSet;
cboId.DisplayMember = "MEMBER.员工编号";

txtName.DataBindings.Add("Text", myDataSet, "MEMBER.姓名");
txtTel.DataBindings.Add("Text", myDataSet, "MEMBER.电话");
txtSex.DataBindings.Add("Text", myDataSet, "MEMBER.性别");
txtAdd.DataBindings.Add("Text", myDataSet, "MEMBER.住址");
dataGridView1.DataSource = myDataSet;
dataGridView1.DataMember = "MEMBER";
}
展开
 我来答
664825723
推荐于2018-03-01 · 超过20用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:37.6万
展开全部
        private void button1_Click(object sender, EventArgs e)
        {
            //获取点击datagridview1的行的 行号
            int r = this.dataGridView1.CurrentRow.Index;
            //获取此行的 员工编号 的值
            string bianhao = this.dataGridView1.Rows[r].Cells[0].Value.ToString();
            //删除 datagridview1 的选中行
            this.dataGridView1.Rows.Remove(this.dataGridView1.Rows[r]);
            //删除数据库的 员工编号 的对应行
            conn = new OleDbConnection(connStr);
            conn.Open();
            myAdapter = new OleDbDataAdapter("delete from 你的表名 where 你的字段名称 ='"+bianhao+"'", conn);
            conn.Clsoe();
        }
杨炼234
2017-11-15
知道答主
回答量:2
采纳率:0%
帮助的人:1791
展开全部
//右键删除事件
private void 删除一行ToolStripMenuItem_Click(object sender, EventArgs e)
{

//获取点击datagridview1的行的 行号
int r = this.dataGridView1.CurrentRow.Index;
//获取此行的 员工编号 的值
string yuangong = this.dataGridView1.Rows[r].Cells[0].Value.ToString();
//删除 datagridview1 的选中行
this.dataGridView1.Rows.Remove(this.dataGridView1.Rows[r]);
//删除数据库的 员工编号 的对应行
string str = "server=172.24.140.16;database=UnionTrade;User ID=union_admin;Password=Tianjin@2017"; //数据库链接字符串
SqlConnection conn = new SqlConnection(str); //实例化链接
conn.Open(); //打了链接
string sql = "delete from shetuanxinxi where 员工号='"+yuangong+"'";

SqlCommand com = new SqlCommand(sql, conn); //一个SQL语句

SqlDataAdapter sda = new SqlDataAdapter(com); //数据适配器
conn.Close();
conn.Dispose();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱心善行共赢
2013-10-08 · TA获得超过313个赞
知道小有建树答主
回答量:355
采纳率:0%
帮助的人:265万
展开全部
思路就是先根据 选中行的索引获取该行数据中的主键,然后通过主键删除数据库中的信息,然后重新绑定datagridview的数据源 datasource即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小孟6754
2013-10-08 · TA获得超过196个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:247万
展开全部
我给你提供思路:首先获得选中行的索引,比如说你选中行的id,然后根据id操作数据库的该表,删除这条数据,然后再刷新一下你的控件dataGridView就可以了。 为了不出现漏洞,在获取选中行索引的时候先判断是否选中。
追问
刷新dataGridViewd的时候   我调用Form1_Load(sender, e)
抛出异常 提示集合中两个绑定绑定到同一属性 怎么解决?
追答
你为什么要调用Form1_Load(
)这个方法,这个方法是加载的时候要显示的,这再调用这个方法当然会出错了,你直接把你绑定dataGridViewd
的语句提成一个方法,在页面加载的时候调用,在操作数据完后,再调用这个方法就可以了。这不是省去一些不必要的代码了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q1736452
2013-10-08 · 超过42用户采纳过TA的回答
知道答主
回答量:182
采纳率:0%
帮助的人:112万
展开全部
如果数据是从数据库读取出来的,在点击按钮后,执行一条delete语句,执行成功后 重新加载数据源
如果数据是写死的,直接删除选中行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式