学院首页>网络编程>ASP.NET>透过vs.net数据窗体向导看Ado.net

透过vs.net数据窗体向导看Ado.net

作者: 来源: 添加时间:2006-5-21 19:59:26
通过加载按钮数据库中的相关数据会被填充到数据集。执行的LoadDataSet()方法的过程如下:

  使用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"));

第 2 页,共 4 页 [1] [2] [3] [4]
站内搜索