DataSet ds=dal.Get();
此时ds为unchanged //假设这个时候有两行数据 [0] [1]
如果ds.Tables[0].Rows.Add(new DataRow())....此时多了一行为 Added [2]
如果这个时候对数据进行编辑
比如
ds.Tables[0].Rows[0]["username"]="zzz";
ds.Tables[0].Rows[1]["username"]="zzz";
ds.Tables[0].Rows[2]["username"]="zzz";
为什么这个时候[0] 和[1] 都变成了Modified,但是[2]还是Added呢?
根据下面的分析得出结论:
myTable.NewRow();//Detached 托管的行 不在collection中
myTable.Rows.Add(myRow);// Added 已经被添加到表中
myTable.AcceptChanges();//提交上面的更改。。如果不这么做这一步,那么下面再对row修改,已经是添加的行的状态还会是Added
myRow["FirstName"] = "Scott";//修改Modified
myRow.Delete();//Deleted
======================
DataTable myTable = MakeTable();
DataRow myRow;
// Create a new DataRow.
myRow = myTable.NewRow();
// Detached row.
Console.WriteLine("new 了一个新行:myRow = myTable.NewRow(); " + myRow.RowState);
myTable.Rows.Add(myRow);
// New row.
Console.WriteLine("将new的新行添加到collection: myTable.Rows.Add(myRow);" + myRow.RowState);
myTable.AcceptChanges();
// Unchanged row.
Console.WriteLine("提交更改:myTable.AcceptChanges(); " + myRow.RowState);
myRow["FirstName"] = "Scott";
// Modified row.
Console.WriteLine("修改行:myRow[FirstName] = Scott;" + myRow.RowState);
myRow.Delete();
// Deleted row.
Console.WriteLine("删除行: myRow.Delete(); " + myRow.RowState);
分享到:
相关推荐
DataSet.Tables[0].Rows[0][1]表示DataSet中第一张表(因为Tables[0]就是第一张表的意思)中第一行(Rows[0][]) 第二列(Rows[][1])的数据。 DataSet.Tables[“tableName”]是指定获取特定的表名。如果DataSet只有一张...
var name=ds.Tables[0].Rows[i].CityName; var id=ds.Tables[0].Rows[i].ProvinceID; document.all("DropDownList2").options.add(new Option(name,id)); } } } else ...
if (this.ds.Tables[0].Rows[intCounter][0].ToString().Trim() == "商品资料维护") { this.mnu_WareDataManage.Enabled = true; continue; } if (this.ds.Tables[0].Rows[intCounter][0].ToString().Trim() ==...
dr["TimeClass_Name"] = ds.Tables[0].Rows[intI]["TimeClass_Name"].ToString(); dr["Chn_NameLocal"] = ds.Tables[0].Rows[intI]["Chn_NameLocal"].ToString(); dr["User_Name"] = ds.Tables[0].Rows[intI][...
pro += ds.Tables[0].Rows.Count.ToString() + "" + ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["PName"].ToString(); } SetBookMarksValue(doc, "D1", pro); ``` 这里对列表数据进行了遍历,并将其格式化后...
4. `table_rows`: 提供了表中大约有多少行数据的估计值,但请注意,这并不是精确的计数。 5. `data_length`: 显示表占用的字节数,包括数据部分。 6. `index_length`: 计算了索引所占的存储空间。 7. `row_format...
i < ds1.Tables[0].Rows.Count; i++) { if (ds1.Tables[0].Rows[i]["GCPWF"].ToString() != "") { string _GCPWF = ds1.Tables[0].Rows[i]["GCPWF"].ToString(); string strSQL = "select CONVERT(varchar(2) ...
ddl.SelectedValue = ds.Tables[0].Rows[i]["DepId"].ToString(); ddl = (DropDownList)GridView1.Rows[i].FindControl("roleList"); ddl.SelectedValue = ds.Tables[0].Rows[i]["RId"].ToString(); } } ...
gridCoulumn.OptionsColumn.ReadOnly = bool.Parse(ds.Tables[0].Rows[i]["ReadOnly"].ToString()); // 添加配置好的列到GridView gridView.Columns.Add(gridCoulumn); } } ``` 此函数首先清除GridView中现有...
Microsoft.Office.Interop.Word.Table table = doc.Tables.Add(doc.Content.End, ds.Tables[i].Rows.Count, ds.Tables[i].Columns.Count, Nothing, Nothing); table.Borders.InsideLineStyle = Microsoft.Office....
worksheet.Cells[i + 1, j + 1] = ds.Tables[0].Rows[i][j]; } } workbook.SaveAs(filename); workbook.Close(false, missing, missing); excelApp.Quit(); Marshal.ReleaseComObject(worksheet); Marshal...
Label8.Text = "查询结果: 共" + ds.Tables[0].Rows.Count + "条记录"; } protected void Button1_Click(object sender, EventArgs e) { string str = ""; string str1 = ""; if (DropDownList1....
obj.eid = ds.Tables[0].Rows[i][0].ToString(); obj.name = ds.Tables[0].Rows[i][1].ToString(); obj.cardId = ds.Tables[0].Rows[i][2].ToString(); obj.joinJoyTime = ds.Tables[0].Rows[i][3].ToString(); ...
使用`DS.Tables["tj"].Rows.Add(myrow)`将新创建的汇总行添加到数据表中。 5. **更新DataGridView**: 在完成了数据的汇总处理后,需要更新`dataGridView1`以反映最新的数据变化。可以通过重新绑定数据源或调用`...
- `foreach`循环遍历`ds1.Tables[0].Rows`,即遍历`ds1`中的第一张表的所有行。 - 使用`dr[ds1.Tables[0].Columns[1]].ToString()`和`dr[ds1.Tables[0].Columns[0]].ToString()`获取指定列的值,并将其添加到下拉...
json += ds.Tables[i].Columns[k].ColumnName + ":'" + ds.Tables[i].Rows[j][k].ToString() + "'"; if (k != ds.Tables[i].Columns.Count - 1) json += ","; } json += "}"; if (j != ds.Tables[i].Rows....
currentdegree += Convert.ToSingle(ds.Tables[0].Rows[i]["总数量"]) / total * 360; } ``` #### 五、添加标题和图例 为了使图表更易于理解,我们可以添加主标题和图例。这可以通过在图表下方添加文字实现: - ...
DataRow deleteRow = ds.Tables[0].Rows.Find(1); ds.Tables[0].Rows.Remove(deleteRow); ``` 最后,使用`SqlDataAdapter`的`Update`方法将所有更改保存回数据库: ```csharp adapter.Update(ds.Tables["admin"]);...
foreach (DataRow row in ds.Tables[0].Rows) { ls_item = ""; for (int j = 0; j < ds.Tables[0].Columns.Count - 1; j++) { ls_item += row[j].ToString(); if (j != ds.Tables[0].Columns.Count - 1) ls_...