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";
} 展开
{
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";
} 展开
展开全部
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();
}
展开全部
//右键删除事件
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();
}
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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思路就是先根据 选中行的索引获取该行数据中的主键,然后通过主键删除数据库中的信息,然后重新绑定datagridview的数据源 datasource即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我给你提供思路:首先获得选中行的索引,比如说你选中行的id,然后根据id操作数据库的该表,删除这条数据,然后再刷新一下你的控件dataGridView就可以了。 为了不出现漏洞,在获取选中行索引的时候先判断是否选中。
追问
刷新dataGridViewd的时候 我调用Form1_Load(sender, e)
抛出异常 提示集合中两个绑定绑定到同一属性 怎么解决?
追答
你为什么要调用Form1_Load(
)这个方法,这个方法是加载的时候要显示的,这再调用这个方法当然会出错了,你直接把你绑定dataGridViewd
的语句提成一个方法,在页面加载的时候调用,在操作数据完后,再调用这个方法就可以了。这不是省去一些不必要的代码了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果数据是从数据库读取出来的,在点击按钮后,执行一条delete语句,执行成功后 重新加载数据源
如果数据是写死的,直接删除选中行
如果数据是写死的,直接删除选中行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询