今天使用DataTable进行数据的增删改查,遇到几个问题和注意点,记下以备不时之需.
DataTable的自动更新有几个条件:
1.必须有主键;主键设置方法为设置dt.PrimaryKey= new DataColumn[] { m_RYDt.Columns["ID"] }; 此 处自然可以设置多个主键了。
2.由于判断是插入还是删除依靠的是行Rowstate的状态,所以要注意行状态的改变;为确保行状态初始化的时候正确,可以在DataTable构建完成之后,调用dt.AcceptChanges()方法;
一个注意点:
DataRow[] dr = m_RYUnionDt.Select("ID=‘" + id + "‘"); if (dr != null && dr.Length > 0) { dr[0].Delete();//这个方法之后,此行的Rowstate会被改为Delete //m_RYUnionDt.Rows.Remove(dr[0]);//这个方法不会修改此行的行状态 }
如果一行数据进行了编辑操作,也要把这一行的状态改为修改;
dr1[0].SetModified();
本文出自 “一条(……)路” 博客,请务必保留此出处http://hansong007.blog.51cto.com/5646787/1368907