透过vs.net数据窗体向导看Ado.net
使用DataAdatpter.Fill()方法填充数据到临时的一个数据集,如果操作成功,将合并这个临时数据集到原有的数据集,DataGrid通过表关系绑定子表。
// 尝试填充临时数据集。
this.FillDataSet(objDataSetTemp);
grdProducts.DataSource = null;
// 清空数据集中的旧记录。
objMyDataSet.Clear();
// 将记录合并到主数据集中。
objMyDataSet.Merge(objDataSetTemp);
grdProducts.SetDataBinding(objMyDataSet, "Categories.CategoryProductRel");
在数据填充的方法中我们注意到
dataSet.EnforceConstraints = false;
这一步会对数据填充效率会有所提高。
另外还有一个细节就是执行两个以上DataAdapter的数据访问方法时显式打开关闭数据连接效率会比较高。因为在执行DataAdapter的数据更新方法前和方法后数据连接Connection实例的状态不会改变。如果下面代码。
//this.oleDbConnection1.Open();
this.oleDbDataAdapter1.Fill(dataSet);
this.oleDbDataAdapter2.Fill(dataSet);
执行之前Connection的状态是关闭的,那可想而知这一过程会执行两次打开连接关闭连接。
其实一次就够。
为了数据的严密性,填充完数据后不要忘了加上下面代码,
// 重新打开约束检查。
dataSet.EnforceConstraints = true;
如果是直读那就无所谓了。
有了数据填充那就来看数据的单值绑定和多值绑定。
三.数据绑定
数据的单值绑定如下:
this.editCategoryID.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.objMyDataSet, "Categories.CategoryID"));
你有email邮箱吗?经常收到垃圾邮件而烦吗?立即使用邮箱LOGO在线制作酷Email logo图片












文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面