ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:20.71KB ,
资源ID:3373253      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3373253.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c数据集.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c数据集.docx

1、c数据集C#数据集应用大全2012-03-14 16:59631人阅读评论(0)收藏举报花了几天时间终于把C#数据集的一些基本应用都整理完了,做为C数据库应用开发人员来说的话,这应该是必备知识了,一、数据集基本应用1.表格新增记录方式一:利用BindingSource的AddNew /新增记录,推荐使用,光标位置处于当前新增记录,且正处理编辑状态 DataRow thisRow = (DataRowView)usersBindingSource.AddNew().Row; thisRowOID = 5; thisRowCNAME = 新增用户; thisRowsex = m;方式二:利用Dat

2、aTable的NewRow /新增记录(不建议使用,因为这种方式Rows.Add时并不处于编辑状态时会受约束影响,且新增时光标不会自动移动该条记录) DataRow thisRow = userDataSet.TablesUsers.NewRow(); thisRowOID = 5; thisRowCNAME = 新增用户; thisRowsex = m; userDataSet.TablesUsers.Rows.Add(thisRow);2.表格删除记录方式一:利用BindingSource的RemoveCurrent if (usersBindingSource.Current != nu

3、ll) /删除当前记录,推荐使用 usersBindingSource.RemoveCurrent();方式二:利用DataRowCollection的Remove /删除当前记录,不推荐使用,这种方式不会记录到RowState中,保存时不会更新 DataRow thisRow = getCurrentDataRow(usersBindingSource); if (thisRow != null) userDataSet.TablesUsers.Rows.Remove(thisRow);方式三:利用DataRow的Delete /删除当前记录,不推荐使用,BindingSource可以更简洁

4、 DataRow thisRow = getCurrentDataRow(usersBindingSource); if (thisRow != null) thisRow.Delete();3.表格修改记录方式一:利用DataRowObject列名直接修改 DataRow thisRow = getCurrentDataRow(usersBindingSource); if (thisRow != null) thisRow.BeginEdit(); thisRowCNAME = 修改的名称; thisRow.EndEdit(); 4.表格查找和筛选记录方式一:利用DataRowCollec

5、tion.find查找 DataColumn keys = new DataColumn1; keys0 = userDataSet.TablesUsers.ColumnsOID; userDataSet.TablesUsers.PrimaryKey = keys; DataRow findRow = userDataSet.TablesUsers.Rows.Find(1); if (findRow = null) MessageBox.Show(没有找到); else MessageBox.Show(成功找到,CNAME = + findRowCNAME); 方式二:利用BindingSou

6、rce.find查找 int i = usersBindingSource.Find(OID, 1); if (i = 0) MessageBox.Show(成功找到,CNAME = +userDataSet.Tablesusers.RowsiCNAME);方式三:利用DataTable.Select获得DataRow数组 DataRow AryDr = userDataSet.Tablesusers.Select(OID 1); for (int i = 0; i 1;7数据集清空方式一:利用DataTable.Clear(),注意这种不会保留删除状态,保存时不会真正删除userDataSe

7、t.Tablesusers.Clear();方式二:利用DataTable.Rows.Clear删除,注意这种不会保留删除状态,保存时不会真正删除userDataSet.Tablesusers.Rows.Clear();方式三:利用BindingSource.RemoveCurrent循环删除全部记录,这种就会保留删除状态。 while (usersBindingSource.Current != null) usersBindingSource.RemoveCurrent();8数据集数据和结构的复制方式一:整个数据集的复制DataSet copyDS = userDataSet.Copy(

8、);方式二:只复制单个表 DataSet copyDS = new DataSet(); copyDS.Tables.Add(userDataSet.Tablesusers.Copy();方式三:只复制数据集的结构 copyDS = userDataSet.Clone(); MessageBox.Show(copyDS.Tablesusers.Rows.Count.ToString();9获取脏数据方式一:整个数据集的脏数据copyDS = userDataSet.GetChanges();方式二:获取单个表的脏数据DataTable dt = userDataSet.Tablesusers.

9、GetChanges();10数据集的数据合并方式一:整个数据集的DataSet.Merge合并 ds.Merge(userDataSet);方式二:单个表的DataTable.Merge合并ds.Merge(userDataSet.Tablesusers);11数据集的数据回滚方式一:数据集的数据回滚userDataSet.RejectChanges();方式二:数据表的数据回滚userDataSet.Tablesusers.RejectChanges();方式三:数据行的数据回滚 DataRow dr = getCurrentDataRow(usersBindingSource); if

10、(dr != null) 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.userDat

11、aSet.Users); MessageBox.Show(保存成功!); 14 判断数据集变更方式一:利用DataSet.HasChanges()15获取数据集表列集合方式一:利用DataTable.Columns DataColumnCollection dcc = userDataSet.Tablesusers.Columns; for (int i = 0; i dcc.Count; i+) DataColumn dc = dcci; MessageBox.Show(dc.ColumnName); 16获取属于该表的行的集合方式一:利用DataTable.Rows DataRowColl

12、ection drc = userDataSet.Tablesusers.Rows; for (int i = 0; i drc.Count; i+) DataRow dr = drci; MessageBox.Show(string)drCNAME); 17获取或设置存储在指定列中的数据方式一:利用DataRowObject列名来访问或设置。 DataRow dr = getCurrentDataRow(usersBindingSource); MessageBox.Show(string)drCNAME);18获取记录行的状态。方式一:利用DataRow.RowState获取 DataRo

13、w dr = getCurrentDataRow(usersBindingSource); switch (dr.RowState) case DataRowState.Added: MessageBox.Show(新增的记录); break; case DataRowState.Deleted: MessageBox.Show(删除的记录); break; case DataRowState.Detached: MessageBox.Show(不属于任何DataRowCollection的状态); break; case DataRowState.Modified: MessageBox.S

14、how(修改的记录); break; case DataRowState.Unchanged: MessageBox.Show(未变化的记录); break; default: break; ;19对记录行开始编辑操作、取消对该行的当前编辑、终止发生在该行的编辑方式一:利用DataRow的BeginEdit、CancelEdit、EndEdit DataRow dr = getCurrentDataRow(usersBindingSource); dr.BeginEdit(); drCNAME = yy; if (string)drCNAME,DataRowVersion.Original).

15、Equals(YY) dr.CancelEdit(); else dr.EndEdit();20获取或设置列中是否允许空值方式一:利用DataColumn的AllowDBNull,注意这样可以允许空字符串userDataSet.Tablesusers.Columnstel.AllowDBNull = false;21指示列自动递增方式一:利用DataColumn的AutoIncrement指示 DataColumn column = new DataColumn(); column.DataType = System.Type.GetType(System.Int32); column.Aut

16、oIncrement = true; column.AutoIncrementSeed = 1000; column.AutoIncrementStep = 10; / Add the column to a new DataTable. DataTable table = new DataTable(table); table.Columns.Add(column); DataRow dr = table.NewRow(); MessageBox.Show(Convert.ToString(int)dr0); DataRow dr1 = table.NewRow(); MessageBox.

17、Show(Convert.ToString(int)dr10);22获取列名方式一:利用DataColumn.ColumnNameMessageBox.Show(userDataSet.Tablesusers.Columns0.ColumnName);23在创建新行时获取或设置列的默认值方式一:利用DataColumn.DefaultValueuserDataSet.Tablesusers.ColumnsCNAME.DefaultValue = yy;24获取设置列的只读方式一:DataColumn.Readonly userDataSet.Tablesusers.Columnstel.Rea

18、dOnly = true; /这一句会出错,程序写入都不允许userDataSet.Tablesusers.Rows0tel = 111;25获取数据集中的数据类型方式一:利用DataColumn.DataType DataColumnCollection dcc = userDataSet.Tablesusers.Columns; for (int i = 0; i dcc.Count; i+) DataColumn dc = dcci; MessageBox.Show(dc.DataType.ToString(); 26计算列表达式的设置方式一:利用DataColumn.Expressio

19、nuserDataSet.Tablesusers.ColumnstotalMoney.Expression = OID * 100 ;27指示列的每一行中的值是否必须是唯一方式一:利用DataColumn.UniqueuserDataSet.Tablesusers.Columnstel.Unique = true;28获取包含在 DataSet 中的表的集合方式一:利用DataSet的Tables DataTableCollection AryTable = userDataSet.Tables; MessageBox.Show(AryTable0.TableName + + AryTable

20、1.TableName);29获取 DataSet 所包含的数据的自定义视图方式一: 利用DataSet的DefaultViewManager方式二:利用DataTable的DefaultView30表格记录新增、删除、修改的控制方式一:利用BindingSource的AllowEdit、AllowNew、AllowRemoveusersBindingSource.AllowNew = false;31.获取表格的记录数方式一:利用BindingSource.CountMessageBox.Show(usersBindingSource.Count.ToString();方式二:利用DataT

21、able.Rows.Count32.获取表格的当前行方式一:利用bindingSource.Current public static DataRow getCurrentDataRow(BindingSource bindSource) if (!typeof(DataRowView).IsInstanceOfType(bindSource.Current) return null; DataRowView drv = (DataRowView)bindSource.Current; if (drv = null) return null; else return drv.Row; 33.获

22、取表格当前项的索引方式一:利用BindingSource.PositionMessageBox.Show(usersBindingSource.Position.ToString();二、数据集其它应用1其它1.1指示DataTable中的字符串比较是否区分大小写方式一:指示DataSet的CaseSensitive userDataSet.CaseSensitive = true; DataRow AryDR = userDataSet.Tablesusers.Select(CNAME = yy);方式二:指示DataTable的CaseSensitive userDataSet.Tablesusers.CaseSensitive = true; DataRow AryDR = userDataSet.Tablesusers.Select(CNAME = yy);1.2指示在尝试执行任何更新操作时是否遵循约束规则方式一:指示DataSet的EnforceConstraints userDataSet.EnforceConstraints = false;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1