asp.net DataSet、DataTable、DataRow、DataColumn应用全收集

本文详细介绍了ASP.NET中数据集DataSet、数据表DataTable、数据行DataRow和数据列DataColumn的各种操作,包括记录的新增、删除、修改、查找、筛选、过滤、数据移动、数据合并以及数据的回滚等。还涵盖了数据集的其他应用,如指示大小写敏感、约束规则、用户信息、关系、XML转换等高级操作。
摘要由CSDN通过智能技术生成

 
一、数据集基本应用
1.表格新增记录
方式一:利用BindingSource的AddNew
//新增记录,推荐使用,光标位置处于当前新增记录,且正处理编辑状态DataRow thisRow = ((DataRowView)usersBindingSource.AddNew()).Row;thisRow["OID"] = 5;thisRow["CNAME"] = "新增用户";thisRow["sex"] = "m";
方式二:利用DataTable的NewRow
//新增记录(不建议使用,因为这种方式Rows.Add时并不处于编辑状态时会受约束影响,且新增时光标不会自动移动该条记录) DataRow thisRow = userDataSet.Tables["Users"].NewRow();thisRow["OID"] = 5;thisRow["CNAME"] = "新增用户";thisRow["sex"] = "m";userDataSet.Tables["Users"].Rows.Add(thisRow);
2.表格删除记录
方式一:利用BindingSource的RemoveCurrent
if (usersBindingSource.Current != null)   //删除当前记录,推荐使用   usersBindingSource.RemoveCurrent();
方式二:利用DataRowCollection的Remove
//删除当前记录,不推荐使用,这种方式不会记录到RowState中,保存时不会更新DataRow thisRow = getCurrentDataRow(usersBindingSource);if (thisRow != null)   userDataSet.Tables["Users"].Rows.Remove(thisRow);
方式三:利用DataRow的Delete
//删除当前记录,不推荐使用,BindingSource可以更简洁DataRow thisRow = getCurrentDataRow(usersBindingSource);if (thisRow != null)   thisRow.Delete();
3.表格修改记录
方式一:利用DataRowObject[列名]直接修改
DataRow thisRow = getCurrentDataRow(usersBindingSource);if (thisRow != null){   thisRow.BeginEdit();   thisRow["CNAME"] = "修改的名称";   thisRow.EndEdit();}
4.表格查找和筛选记录
方式一:利用DataRowCollection.find查找
DataColumn[] keys = new DataColumn[1];keys[0] = userDataSet.Tables["Users"].Columns["OID"];userDataSet.Tables["Users"].PrimaryKey = keys;DataRow findRow = userDataSet.Tables["Users"].Rows.Find("1");
if (findRow == null){}
方式二:利用BindingSource.find查找
int i = usersBindingSource.Find("OID", "1");if (i >= 0)   MessageBox.Show("成功找到,CNAME = " +   userDataSet.Tables["users"].Rows[i]["CNAME"]);
方式三:利用DataTable.Select获得DataRow数组
DataRow[] AryDr = userDataSet.Tables["users"].Select("OID > 1");for (int i = 0; i < AryDr.Length; i++){    DataRow dr = AryDr[i];    MessageBox.Show(Convert.ToString((int)dr["OID"]));}
5.表格记录的移动
方式一:采用BindingSource的方法或position属性实现。
//指定定位到哪一行,Position不会随表格列排序而变化,0不一定就是表格的第一行usersBindingSource.Position = 0;//移动到上一条,对于表格列排序后,上一条不定是界面显示表格的上一条usersBindingSource.MovePrevious();usersBindingSource.MoveNext();//移动到下一条usersBindingSource.MoveFirst();usersBindingSource.MoveLast();
6.表格的过滤
方式一:利用BindingSource的Filter来实现
usersBindingSource.Filter = "OID > 1";
7.数据集清空
方式一:利用DataTable.Clear(),注意这种不会保留删除状态,保存时不会真正删除
userDataSe

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值