ADO.NET中DataSet的应用
一.思维导图
二.知识点
属性和方法
2.1属性
CaseSensitive | 获取或设置一个值,该值指示 DataTable 对象中的字符串比较是否区分大小写。 |
Container | 获取组件的容器。 |
DataSetName | 获取或设置当前DataSet的名称 |
HasErrors | 获取一个值,指示在此DataTable 中的任何 DataSet 对象中是否存在错误 |
Tables | 获取包含在DataSet 中的表的集合 |
2.2方法
Clear() |
通过移除所有表中的所有行来清除任何数据的 DataSet。 |
Clone() |
复制 DataSet 的结构,包括所有 DataTable 架构、关系和约束。 不要复制任何数据。 |
Copy() |
复制该 DataSet 的结构和数据。 |
CreateDataReader() |
为每个 DataTableReader 返回带有一个结果集的 DataTable,顺序与 Tables 集合中表的显示顺序相同。 |
CreateDataReader(DataTable[]) |
为每个 DataTableReader返回带有一个结果集的 DataTable。 |
Dispose() |
释放由 MarshalByValueComponent使用的所有资源。 |
Equals(Object) |
确定指定的对象是否等于当前对象。 |
GetChanges() |
获取 DataSet 的副本,该副本包含自加载以来或自上次调用 AcceptChanges() 以来对该数据集进行的所有更改。 |
GetChanges(DataRowState) |
获取由 DataRowState 筛选的 DataSet 的副本,该副本包含上次加载以来或调用 AcceptChanges() 以来进行的所有更改。 |
GetType() |
获取当前实例的 Type。 |
HasChanges() |
获取一个值,该值指示 DataSet 是否有更改,包括新增行、已删除的行或已修改的行。 |
Haschanges(DataRowState) |
获取一个值,该值指示 DataSet 是否有 DataRowState 被筛选的更改,包括新增行、已删除的行或已修改的行。 |
Reset() |
清除所有表并从 DataSet 中删除所有关系、外部约束和表。 子类应重写 Reset(),以便将 DataSet还原到其原始状态。 |
ToString() |
返回包含 Component 的名称的 String(如果有)。 不应重写此方法。 |
三.代码示例
private void Guanliyuan_Load_1(object sender, EventArgs e) { TreeNode ManagerNode = new TreeNode(); ManagerNode.Text = "用户信息"; this.trv_code.Nodes.Add(ManagerNode); TreeNode managerNode = new TreeNode(); managerNode.Text = "yishi"; ManagerNode.Nodes.Add(managerNode); TreeNode managerRoleNode = new TreeNode(); managerRoleNode.Text = "Bingren"; ManagerNode.Nodes.Add(managerRoleNode); TreeNode MedicineNode = new TreeNode(); MedicineNode.Text = "药品信息"; this.trv_code.Nodes.Add(MedicineNode); TreeNode medicineDataNode = new TreeNode(); medicineDataNode.Text = "yaopinziliao"; MedicineNode.Nodes.Add(medicineDataNode); TreeNode medicineBuyNode = new TreeNode(); medicineBuyNode.Text = "yaopinkucun"; MedicineNode.Nodes.Add(medicineBuyNode); TreeNode SupplyerNode = new TreeNode(); SupplyerNode.Text = "收费信息"; this.trv_code.Nodes.Add(SupplyerNode); TreeNode supplyerNode = new TreeNode(); supplyerNode.Text = "shoufeixiangmu"; SupplyerNode.Nodes.Add(supplyerNode); TreeNode ordersNode = new TreeNode(); ordersNode.Text = "menzhenshoufei"; SupplyerNode.Nodes.Add(ordersNode); TreeNode OrdersNode = new TreeNode(); OrdersNode.Text = "menzhenshoufeixiangqing"; SupplyerNode.Nodes.Add(OrdersNode); } private void trv_code_AfterSelect_1(object sender, TreeViewEventArgs e) { if (this.trv_code.SelectedNode.Level == 1) { SqlConnection sqlConnection = new SqlConnection(); sqlConnection.ConnectionString = "Server=(local);Database=EduBase2018;Integrated Security=sspi"; SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = sqlConnection; ordersHelper.tablename = e.Node.Text.Trim(); sqlCommand.CommandText = "select * from " + ordersHelper.tablename; SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(); sqlDataAdapter.SelectCommand = sqlCommand; DataTable Table = new DataTable(); sqlConnection.Open(); sqlDataAdapter.Fill(Table); sqlConnection.Close(); this.dgv_code.DataSource = Table; this.dgv_code.Columns[this.dgv_code.Columns.Count - 1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; } }