c数据集Word格式文档下载.docx
- 文档编号:16278746
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:14
- 大小:20.71KB
c数据集Word格式文档下载.docx
《c数据集Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c数据集Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
//新增记录(不建议使用,因为这种方式Rows.Add时并不处于编辑状态时会受约束影响,且新增时光标不会自动移动该条记录)
DataRowthisRow=userDataSet.Tables["
Users"
].NewRow();
userDataSet.Tables["
].Rows.Add(thisRow);
2.表格删除记录
利用BindingSource的RemoveCurrent
if(usersBindingSource.Current!
=null)
//删除当前记录,推荐使用
usersBindingSource.RemoveCurrent();
利用DataRowCollection的Remove
//删除当前记录,不推荐使用,这种方式不会记录到RowState中,保存时不会更新
DataRowthisRow=getCurrentDataRow(usersBindingSource);
if(thisRow!
].Rows.Remove(thisRow);
方式三:
利用DataRow的Delete
//删除当前记录,不推荐使用,BindingSource可以更简洁
if(thisRow!
thisRow.Delete();
3.表格修改记录
利用DataRowObject[列名]直接修改
{
thisRow.BeginEdit();
修改的名称"
thisRow.EndEdit();
}
4.表格查找和筛选记录
利用DataRowCollection.find查找
DataColumn[]keys=newDataColumn[1];
keys[0]=userDataSet.Tables["
].Columns["
];
].PrimaryKey=keys;
DataRowfindRow=userDataSet.Tables["
].Rows.Find("
1"
);
if(findRow==null)
MessageBox.Show("
没有找到"
else
成功找到,CNAME="
+findRow["
]);
}
利用BindingSource.find查找
inti=usersBindingSource.Find("
"
if(i>
=0)
+
userDataSet.Tables["
users"
].Rows[i]["
利用DataTable.Select获得DataRow数组
DataRow[]AryDr=userDataSet.Tables["
].Select("
OID>
1"
for(inti=0;
i<
AryDr.Length;
i++)
DataRowdr=AryDr[i];
MessageBox.Show(Convert.ToString((int)dr["
]));
5.表格记录的移动
采用BindingSource的方法或position属性实现。
//指定定位到哪一行,Position不会随表格列排序而变化,0不一定就是表格的第一行
usersBindingSource.Position=0;
//移动到上一条,对于表格列排序后,上一条不定是界面显示表格的上一条
usersBindingSource.MovePrevious();
usersBindingSource.MoveNext();
//移动到下一条
usersBindingSource.MoveFirst();
usersBindingSource.MoveLast();
6.表格的过滤
利用BindingSource的Filter来实现
usersBindingSource.Filter="
7.数据集清空
利用DataTable.Clear(),注意这种不会保留删除状态,保存时不会真正删除
].Clear();
利用DataTable.Rows.Clear删除,注意这种不会保留删除状态,保存时不会真正删除
].Rows.Clear();
利用BindingSource.RemoveCurrent循环删除全部记录,这种就会保留删除状态。
while(usersBindingSource.Current!
8.数据集数据和结构的复制
整个数据集的复制
DataSetcopyDS=userDataSet.Copy();
只复制单个表
DataSetcopyDS=newDataSet();
copyDS.Tables.Add(userDataSet.Tables["
].Copy());
只复制数据集的结构
copyDS=userDataSet.Clone();
MessageBox.Show(copyDS.Tables["
].Rows.Count.ToString());
9.获取脏数据
整个数据集的脏数据
copyDS=userDataSet.GetChanges();
获取单个表的脏数据
DataTabledt=userDataSet.Tables["
].GetChanges();
10.数据集的数据合并
整个数据集的DataSet.Merge合并
ds.Merge(userDataSet);
单个表的DataTable.Merge合并
ds.Merge(userDataSet.Tables["
11.数据集的数据回滚
数据集的数据回滚
userDataSet.RejectChanges();
数据表的数据回滚
].RejectChanges();
数据行的数据回滚
DataRowdr=getCurrentDataRow(usersBindingSource);
if(dr!
dr.RejectChanges();
12.数据集从数据库取数
利用SqlDataAdapter.Fill来填充数据表
this.usersTableAdapter.Fill(this.userDataSet.Users);
13.数据集更新到数据库
利用SqlDataAdapter.Update来更新到数据库
this.Validate();
this.usersBindingSource.EndEdit();
if(this.userDataSet.HasChanges())
this.usersTableAdapter.Update(this.userDataSet.Users);
保存成功!
"
14.判断数据集变更
利用DataSet.HasChanges()
15获取数据集表列集合
利用DataTable.Columns
DataColumnCollectiondcc=userDataSet.Tables["
].Columns;
dcc.Count;
DataColumndc=dcc[i];
MessageBox.Show(dc.ColumnName);
16获取属于该表的行的集合
利用DataTable.Rows
DataRowCollectiondrc=userDataSet.Tables["
].Rows;
drc.Count;
DataRowdr=drc[i];
MessageBox.Show((string)dr["
17
获取或设置存储在指定列中的数据
利用DataRowObject[列名]来访问或设置。
18获取记录行的状态。
利用DataRow.RowState获取
switch(dr.RowState)
caseDataRowState.Added:
新增的记录"
break;
caseDataRowState.Deleted:
删除的记录"
break;
caseDataRowState.Detached:
不属于任何DataRowCollection的状态"
caseDataRowState.Modified:
修改的记录"
caseDataRowState.Unchanged:
未变化的记录"
default:
};
19
对记录行开始编辑操作、取消对该行的当前编辑、终止发生在该行的编辑
利用DataRow的BeginEdit、CancelEdit、EndEdit
dr.BeginEdit();
dr["
yy"
if(((string)dr["
DataRowVersion.Original]).Equals("
YY"
))
dr.CancelEdit();
dr.EndEdit();
20
获取或设置列中是否允许空值
利用DataColumn的AllowDBNull,注意这样可以允许空字符串
tel"
].AllowDBNull=false;
21指示列自动递增
利用DataColumn的AutoIncrement指示
DataColumncolumn=newDataColumn();
column.DataType=System.Type.GetType("
System.Int32"
column.AutoIncrement=true;
column.AutoIncrementSeed=1000;
column.AutoIncrementStep=10;
//AddthecolumntoanewDataTable.
DataTabletable=newDataTable("
table"
table.Columns.Add(column);
DataRowdr=table.NewRow();
MessageBox.Show(Convert.ToString((int)dr[0]));
DataRowdr1=table.NewRow();
MessageBox.Show(Convert.ToString((int)dr1[0]));
22
获取列名
利用DataColumn.ColumnName
MessageBox.Show(userDataSet.Tables["
].Columns[0].ColumnName);
23在创建新行时获取或设置列的默认值
利用DataColumn.DefaultValue
].DefaultValue="
24
获取设置列的只读
DataColumn.Readonly
].ReadOnly=true;
//这一句会出错,程序写入都不允许
].Rows[0]["
111"
25获取数据集中的数据类型
利用DataColumn.DataType
MessageBox.Show(dc.DataType.ToString());
26计算列表达式的设置
利用DataColumn.Expression
totalMoney"
].Expression="
OID*100"
27指示列的每一行中的值是否必须是唯一
利用DataColumn.Unique
].Unique=true;
28获取包含在DataSet中的表的集合
利用DataSet的Tables
DataTableCollectionAryTable=userDataSet.Tables;
MessageBox.Show(AryTable[0].TableName+"
"
+AryTable[1].TableName);
29
获取DataSet所包含的数据的自定义视图
利用DataSet的DefaultViewManager
利用DataTable的DefaultView
30.表格记录新增、删除、修改的控制
利用BindingSource的AllowEdit、AllowNew、AllowRemove
usersBindingSource.AllowNew=false;
31.
获取表格的记录数
利用BindingSource.Count
MessageBox.Show(usersBindingSource.Count.ToString());
利用DataTable.Rows.Count
32.获取表格的当前行
利用bindingSource.Current
publicstaticDataRowgetCurrentDataRow(BindingSourcebindSource)
if(!
typeof(DataRowView).IsInstanceOfType(bindSource.Current))
returnnull;
DataRowViewdrv=(DataRowView)bindSource.Current;
if(drv==null)
returndrv.Row;
33.获取表格当前项的索引
利用BindingSource.Position
MessageBox.Show(usersBindingSource.Position.ToString());
二、数据集其它应用
1.其它
1.1
指示DataTable中的字符串比较是否区分大小写
指示DataSet的CaseSensitive
userDataSet.CaseSensitive=true;
DataRow[]AryDR=userDataSet.Tables["
CNAME='
yy'
指示DataTable的CaseSensitive
].CaseSensitive=true;
1.2指示在尝试执行任何更新操作时是否遵循约束规则
指示DataSet的EnforceConstraints
userDataSet.EnforceConstraints=false;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据