winform窗体中用DataGrid显示数据库的删除记录问题

SmallCase 2003-07-02 11:19:52
问题:
winform窗体中用DataGrid显示数据库的删除记录问题。删除行数据前,如果对记录排过序,删除的实际记录就不能与DataGrid选中的当前记录对应。我是菜鸟,请大家帮忙。
代码:
//定义变量
private OleDbConnection myconn;
private OleDbDataAdapter da;
private DataSet ds=new DataSet();
//初始化
private void Form1_Load(object sender, System.EventArgs e)
{
myconn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=md.mdb");
da=new OleDbDataAdapter("SELECT * FROM MD",myconn);
da.Fill(ds,"md");
//在DataGrid中显示,也用过绑定的方法
dataGrid1.DataSource=ds.Tables["md"].DefaultView;
}
//按下删除按钮
private void button1_Click(object sender, System.EventArgs e)
{
int cur;
//命令生成器
OleDbCommandBuilder cust=new OleDbCommandBuilder(da);
//当前选中行号
cur=dataGrid1.CurrentRowIndex;
//删除当前表当前行
ds.Tables["md"].Rows[cur].Delete();
//更新
da.Update(ds,"md");
ds.AcceptChanges();
}
...全文
6 点赞 收藏 4
写回复
4 条回复
lbx1979 2003年07月03日
用dataview来处理
回复 点赞
kuangsha007 2003年07月03日
上面是把你的dataGrid 绑定到dataView
或者
BindingManagerBase bmbIntouch = datagrid1.BindingContext[this.dataset,TableName];
DataRowView drvIntouch =(DataRowView) bmbIntouch.Current;
DataRow myDataRowIntouch = drvIntouch.Row;
myDataRowIntouch.Delete()
回复 点赞
kuangsha007 2003年07月03日
DataRow row = {this.dataView1[this.dataGrid1.CurrentRowIndex].Row};
row.Delete();
回复 点赞
eastseasea 2003年07月03日
这样可以了
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告