|
每一个DataSet都是一个或多个DataTable 对象的集合(DataTable相当于数据库中的表),这些对象由数据行(DataRow)、数据列(DataColumn)等组成。 DataView是对某一个DataTable建立视图,用来在观察数据时提供排序和过滤的功能。
1.DataSet与DataTable的相互转换 DataSet ds = new DataSet();//也可以是一段获取sql的语句 DataTable dt = ds.Tables[0];
这样获取到了ds中的对象集合也就是数据库中的表格数据集。
2.DataTable的简单操作 1)获取所有行。 DataRow[] rows = dt.Select(); 或者可以这样写获取单行数 DataRow row =dt.Tables[0].Rows[0]; 2)按主键顺序(如没有主键,则按照添加顺序)获取符合筛选条件的行。 DataRow[] rows = dt.Select("ID>1"); 3)获取符合筛选条件的行,并按指定的排序条件排序。 DataRow[] rows = dt.Select("ID>1","ID DESC");
4)获取符合筛选条件和指定状态的行,并按指定的排序条件排序。 string strExpr = "ID>1"; string strSort = "ID DESC"; DataRow[] foundRows = dt.Select(strExpr, strSort, DataViewRowState.OriginalRows); 3.合并两个DataTable表的数据 DataTable dt1 = ds.Tables[0]; DataTable dt2 = ds.Tables[1]; dt1.Merge(dt2, true, MissingSchemaAction.AddWithKey); //或者 //将两个DataTable合并成一个 DataTable d1 = null;//源数据1 DataTable d2 = null;//源数据2 DataTable newDataTable = d1.Copy();//复制出一个新表 //添加DataTable2的数据 foreach (DataRow dr in d2.Rows) { newDataTable.ImportRow(dr);//将两个datatable合并 } 4.DataView DataView dv = ds.Tables[0].DefaultView; //或 DataView dv = new DataView(ds.Tables["Product"], "ID > 1", "ID DESC", DataViewRowState.CurrentRows); 5.DataColumn创建与赋值 DataColumn dc = new DataColumn("ID", typeof(string)); dt.Columns.Add(dc); DataRow row = dt.NewRow(); row["ID"] = "1";
获取数据行的写法:
1.
DataSet value = obj.GetSQLDataset("SELECT * FROM tbgZJBudgetImport WHERE State in ('0','1') AND BudgetYear=" + DropDownList_Year.SelectedValue);
DataRow ZJBudgetimport = value.Tables[0].Rows[0];
2.可以参考
DataSet dsZJBudgetList = obj.GetSQLDataset("Select * FROM tbgZJBudgetImportList Where ZJBudgetImportID =" + ZJBudgetImportID);
DataView dvBudgetListG = dsZJBudgetList.Tables[0].DefaultView;
DataRow drBudgetList = dtUpdate.Rows[0];
string ZJBudgetImportListID=dvBudgetListG[0].Row["ZJBudgetImportListID"].ToString().Trim();
|