//定义一个数组保存所选中的行 int[] sel_rows = new int[bookDataGridView.SelectedRows.Count]; for (int i = 0; i < bookDataGridView.SelectedRows.Count; i++) { sel_rows[i] = bookDataGridView.SelectedRows[i].Index; }
//根据数组选择所得到的行号删除数据表 for (int i = 0; i < sel_rows.Length; i++) { dt.Rows[sel_rows[i]].Delete(); } adpter.Update(ds);//用这句来更新数据数据,真正地删除掉(如果不删除数据里的资料就不用这条语句) }
这样就会生成删除,修改,增加命令对象
最后调用ds.update()就可以更新到数据库了。
private SqlDataAdapter adpter = null;
private DataSet ds = null; 二、显示数据用的代码:(假设在窗体加载时)
假设你窗体上有一个多为bookDataGridView的DataGridView控件
private void frmMain_Load(object sender, EventArgs e)
{
conn = new SqlConnection(@"Server=(local)\sqlexpress;Integrated Security=True;Database=scc");
adpter = new SqlDataAdapter("select * from 表名称", conn);
SqlCommandBuilder scb = new SqlCommandBuilder(adpter);
ds = new DataSet();
adpter.Fill(ds);
if (ds !=null)
{
bookDataGridView.DataSource = ds.Tables[0];
}
}
注意在你要删除的表里设置一个主键,也就是唯一索引 三、删除数据的代码:
private void btnDelete_Click(object sender, EventArgs e)
{
DataTable dt = ds.Tables[0];
if (bookDataGridView.Rows.Count <= 0 ||
bookDataGridView.SelectedRows.Count <= 0) return;
//定义一个数组保存所选中的行
int[] sel_rows = new int[bookDataGridView.SelectedRows.Count];
for (int i = 0; i < bookDataGridView.SelectedRows.Count; i++)
{
sel_rows[i] = bookDataGridView.SelectedRows[i].Index;
}
//根据数组选择所得到的行号删除数据表
for (int i = 0; i < sel_rows.Length; i++)
{
dt.Rows[sel_rows[i]].Delete();
}
adpter.Update(ds);//用这句来更新数据数据,真正地删除掉(如果不删除数据里的资料就不用这条语句)
}
四、DataGridView的用法太多了,你可能要在网上找些资料看看才可以的,一下子很难说得清楚的
LZ已经给出解决方法了,不过你可以用这个思路就是:
找到要删除的数据,先将其在数据库中删除,再绑定DGV,也可以的
可以在它上面做删除,修改,然后保存到数据库就可以了
它还可以对数据进行排序
就本上就是查,删,改这三种操作