c#删除DataGridView里的数据并保存到数据库中 使用TableAdapter的Delete方法能实现吗 怎么实现
这段代码我就没能实现删除数据库了的记录只是删除了DataGridView里的数据if(dataGridView1.CurrentRow==null){MessageBox...
这段代码我就没能实现删除数据库了的记录 只是删除了DataGridView里的数据
if (dataGridView1.CurrentRow == null)
{
MessageBox.Show("没有用户可以删除!");
}
else
{
if (MessageBox.Show("你是否真的要删除该行!", "系统提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
DataRowView drv = dataGridView1.SelectedRows[0].DataBoundItem as DataRowView;
drv.Row.Table.Rows.Remove(drv.Row); // 将要删除的行移除
drv.Row.Delete(); // 对绑定的DataTable的选中行做删除标记
dataGridView1.Refresh();
this.TA_用户表.Update(this.dataSet1.用户表);
}
}
是否需要确定主键 如果需要 怎样确定当前行的数据的主键 展开
if (dataGridView1.CurrentRow == null)
{
MessageBox.Show("没有用户可以删除!");
}
else
{
if (MessageBox.Show("你是否真的要删除该行!", "系统提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
DataRowView drv = dataGridView1.SelectedRows[0].DataBoundItem as DataRowView;
drv.Row.Table.Rows.Remove(drv.Row); // 将要删除的行移除
drv.Row.Delete(); // 对绑定的DataTable的选中行做删除标记
dataGridView1.Refresh();
this.TA_用户表.Update(this.dataSet1.用户表);
}
}
是否需要确定主键 如果需要 怎样确定当前行的数据的主键 展开
1个回答
展开全部
需要获取这一行的ID,这个ID指的的是你数据库中的ID,然后执行删除sql语句,然后就可以了。
具体的代码的话,
string id = drv["您数据库中的唯一标示"].ToString();
string deletestr = "delete 删除的表名 where 唯一标示列(例如ID)= "+id;
int reslut = new System.Data.SqlClient.SqlCommand().ExecuteNonQuery();
if (reslut > 0) MessageBox.Show("成功!");else MessageBox.Show("失败!");
drv.Row.Table.Rows.Remove(drv.Row); // 将要删除的行移除
不知道行不行你看看。
追问
非常感谢你的回答。 我引用了你的代码 但是报这样的异常 :“ExecuteNonQuery::Connection 属性尚未初始化”。感觉你的方式和我想要的方式不一样,你使用Connection来连接数据库,我的数据库时直接通过数据库配置向导连接的,所以我的一切操作都是使用的TableAdapter的语句。并没有使用SqlConnection 、SQLCommand等语句。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询