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.用户表);
}
}
是否需要确定主键 如果需要 怎样确定当前行的数据的主键
展开
 我来答
百度网友d3a0377
推荐于2016-07-11 · TA获得超过187个赞
知道小有建树答主
回答量:507
采纳率:50%
帮助的人:236万
展开全部

需要获取这一行的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等语句。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式