private void btSaveVendors_Click(object sender, EventArgs e) { if (_vendorsDs.HasChanges()) { _vendorAdapter.Update(_vendorsDs); this.Close(); } else { this.Close(); } }
private void dgvEmpMaster_RowValidated(object sender, DataGridViewCellEventArgs e) { if (!ds.HasChanges()) { return; } SqlCommandBuilder commandBuilder = new SqlCommandBuilder(adpEmpInfo); adpEmpInfo.UpdateCommand = commandBuilder.GetUpdateCommand(); adpEmpInfo.InsertCommand = commandBuilder.GetInsertCommand(); adpEmpInfo.Update(ds.Tables["EmpMaster"]); }
private void saveToolStripMenuItem_Click(object sender, EventArgs e) { //- Check for changes in the DataSet and write the changes to the file: if (dsInventory.HasChanges()) { dsInventory.GetChanges(); dsInventory.WriteXml(filePath); getDataSource(); } else { dsInventory.RejectChanges(); } }
public void UpdateDataTable(string tablename) { if (data.HasChanges()) { connection.Open(); DataTable changes = data.Tables[tablename].GetChanges(); relays[tablename].adapter.Update(changes); data.Tables[tablename].Clear(); relays[tablename].adapter.Fill(data); //data.Merge(changes); data.Tables[tablename].AcceptChanges(); connection.Close(); } }
private void button5_Click(object sender, EventArgs e) { if (objDataSet.HasChanges()) { SqlCommandBuilder objCommandBuilder = new SqlCommandBuilder(Database.objDataAdapter); if (objDataSet.Tables["Tbl_jomleh"].Rows.Count > 0) { Database.Connection_Open(); objCommandBuilder.DataAdapter.Update(objDataSet, "Tbl_jomleh"); Database.Connection_Close(); MessageBox.Show("تغییرات با موفقیت انجام شد ", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private void butLuu_Click(object sender, System.EventArgs e) { try { if (ds.HasChanges()) { Tongcong(); } if (ds.HasChanges()) { m.execute_data("delete from kh_bieu_1451 where id=" + l_id); string exp = "c01+c02+c03+c04+c05+c06+c07+c08+c09+c10+c11+c12+c13+c14+c15+c16+c17+c17+c19+c20>0"; DataRow[] r = ds.Tables[0].Select(exp); Int16 iRec = Convert.ToInt16(r.Length); for (Int16 i = 0; i < iRec; i++) { m.upd_kh1451(l_id, int.Parse(r[i]["ma"].ToString()), ngay.Text, int.Parse(r[i]["c01"].ToString()), int.Parse(r[i]["c02"].ToString()), int.Parse(r[i]["c03"].ToString()), int.Parse(r[i]["c04"].ToString()), int.Parse(r[i]["c05"].ToString()), int.Parse(r[i]["c06"].ToString()), int.Parse(r[i]["c07"].ToString()), int.Parse(r[i]["c08"].ToString()), int.Parse(r[i]["c09"].ToString()), int.Parse(r[i]["c10"].ToString()), int.Parse(r[i]["c11"].ToString()), int.Parse(r[i]["c12"].ToString()), int.Parse(r[i]["c13"].ToString()), int.Parse(r[i]["c14"].ToString()), int.Parse(r[i]["c15"].ToString()), int.Parse(r[i]["c16"].ToString()), int.Parse(r[i]["c17"].ToString()), int.Parse(r[i]["c18"].ToString()), int.Parse(r[i]["c19"].ToString()), int.Parse(r[i]["c20"].ToString()), i_userid); } } if (ds1.HasChanges()) { m.execute_data("delete from kh_bieu_1452 where id=" + l_id); string exp1 = "c01+c02+c03>0"; DataRow[] r1 = ds1.Tables[0].Select(exp1); Int16 iRec1 = Convert.ToInt16(r1.Length); for (Int16 i = 0; i < iRec1; i++) { m.upd_kh1452(l_id, int.Parse(r1[i]["ma"].ToString()), ngay.Text, int.Parse(r1[i]["c01"].ToString()), int.Parse(r1[i]["c02"].ToString()), int.Parse(r1[i]["c03"].ToString()), i_userid); } } ena_object(false); decimal id = l_id; load_ngay(); cmbNgay.SelectedValue = id.ToString(); l_id = id; } catch {} load_grid(false); load_grid1(false); butMoi.Focus(); }
private void butLuu_Click(object sender, System.EventArgs e) { try { if (ds.HasChanges()) { Tongcong(); } if (ds.HasChanges()) { m.execute_data("delete from " + m.user + ".kh_bieu_141 where id=" + l_id); string exp = "c01+c02+c03+c04+c05+c06+c07+c08+c09+c10+c11+c12+c13+c14+c15+c16+c17+c18+c19+c20+c21+c22+c23+c24+c25+c26+c27+c28>0"; DataRow[] r = ds.Tables[0].Select(exp); Int16 iRec = Convert.ToInt16(r.Length); for (Int16 i = 0; i < iRec; i++) { //ThanhCuong 25/02/2012 m.upd_kh141(l_id, int.Parse(r[i]["ma"].ToString()), ngay.Text, int.Parse(r[i]["c01"].ToString()), int.Parse(r[i]["c02"].ToString()), int.Parse(r[i]["c03"].ToString()), int.Parse(r[i]["c04"].ToString()), int.Parse(r[i]["c05"].ToString()), int.Parse(r[i]["c06"].ToString()), int.Parse(r[i]["c07"].ToString()), int.Parse(r[i]["c08"].ToString()), int.Parse(r[i]["c09"].ToString()), int.Parse(r[i]["c10"].ToString()), int.Parse(r[i]["c11"].ToString()), int.Parse(r[i]["c12"].ToString()), int.Parse(r[i]["c13"].ToString()), int.Parse(r[i]["c14"].ToString()), int.Parse(r[i]["c15"].ToString()), int.Parse(r[i]["c16"].ToString()), int.Parse(r[i]["c17"].ToString()), int.Parse(r[i]["c18"].ToString()), int.Parse(r[i]["c19"].ToString()), int.Parse(r[i]["c20"].ToString()), int.Parse(r[i]["c21"].ToString()), int.Parse(r[i]["c22"].ToString()), int.Parse(r[i]["c23"].ToString()), int.Parse(r[i]["c24"].ToString()), int.Parse(r[i]["c25"].ToString()), int.Parse(r[i]["c26"].ToString()), int.Parse(r[i]["c27"].ToString()), int.Parse(r[i]["c28"].ToString()), i_userid, int.Parse(r[i]["c29"].ToString()), int.Parse(r[i]["c30"].ToString()), int.Parse(r[i]["c31"].ToString()), int.Parse(r[i]["c32"].ToString()), int.Parse(r[i]["c33"].ToString()), int.Parse(r[i]["c34"].ToString()), int.Parse(r[i]["c35"].ToString()), int.Parse(r[i]["c36"].ToString()), int.Parse(r[i]["c37"].ToString()), int.Parse(r[i]["c38"].ToString()), int.Parse(r[i]["c39"].ToString()), int.Parse(r[i]["c40"].ToString()), int.Parse(r[i]["c41"].ToString()), int.Parse(r[i]["c42"].ToString()), int.Parse(r[i]["c43"].ToString()), int.Parse(r[i]["c44"].ToString()), int.Parse(r[i]["c45"].ToString()), int.Parse(r[i]["c46"].ToString()), int.Parse(r[i]["c47"].ToString()), int.Parse(r[i]["c48"].ToString()), int.Parse(r[i]["c49"].ToString()), int.Parse(r[i]["c50"].ToString()), int.Parse(r[i]["c51"].ToString()), int.Parse(r[i]["c52"].ToString()), int.Parse(r[i]["c53"].ToString()), int.Parse(r[i]["c54"].ToString()), int.Parse(r[i]["c55"].ToString()), int.Parse(r[i]["c56"].ToString())); // } } ena_object(false); decimal id = l_id; load_ngay(); cmbNgay.SelectedValue = id.ToString(); l_id = id; } catch {} load_grid(false); butMoi.Focus(); }
private void btSaveItems_Click(object sender, EventArgs e) { try { if (_itemsDs.HasChanges()) { _itemAdapter.Update(_itemsDs); this.Close(); } } catch (OleDbException oleEx) { DebugUtil.genericShow(oleEx.Message.ToString()); } }
private void frmSprDGV_FormClosed(object sender, FormClosedEventArgs e) { if (Withup) { if (ds.HasChanges()) { my.Up(da[0], ds.Tables[0]); } ; } if (nbut1 == 716 | nbut1 == 717) { ((frmReasons)pform1).RefR(); } }
protected void btnUndo_Click(object sender, EventArgs e) { if (Cache["DATA"] != null) { DataSet ds = new DataSet(); ds = (DataSet)Cache["DATA"]; if (ds.HasChanges()) { // Reject all modification to original data since last AcceptChanges() ds.RejectChanges(); // Update the cache to reflec the cancellation of changes Cache.Insert("DATA", ds, null, DateTime.Now.AddHours(24), System.Web.Caching.Cache.NoSlidingExpiration); // Load the gridview from latest cache GetAllStudentsFromCache(); lblMessage.ForeColor = Color.Green; lblMessage.Text = "Changes Undone"; } else { lblMessage.ForeColor = Color.Red; lblMessage.Text = "No Changes to Undo"; } } else { lblMessage.ForeColor = Color.Red; lblMessage.Text = "No Data Present"; } }
private void btnBorrarPuntos_Click(object sender, EventArgs e) { //Siempre hay que preguntar antes de hacer cualquier barbaridad. DialogResult dialogResult = MessageBox.Show("¿Seguro segurisimo de verdad verdadera?", "Memory / Parejas", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { //dsJuegos.Tables["Parejas"].Rows.Clear(); //ESTO NO FUNCIONA //Como "dsJuegos.Tables["Parejas"].Rows.Clear()" aparentemente no funciona probamos otra cosa. //Recorremos fila por fila de la tabla Parejas y la borramos, que remedio. for (int i = dsJuegos.Tables["Parejas"].Rows.Count; i > 0; i--) { drFilaParejas = dsJuegos.Tables["Parejas"].Rows[i - 1]; drFilaParejas.Delete(); }//ESTO SI FUNCIONA //Esto...¡No!..¡TIENE!...¡¡¡NINGUN SENTIIIDOOOO!!! //Este IF solo se ejecuta si el DataSet tiene cambios. if (dsJuegos.HasChanges()) { //Actualizamos la base de datos mediante nuestro DataAdapter. //Le pasamos el DataSet con los datos finales. daJuegos.Update(dsJuegos, "Parejas"); } this.Dispose(); } }
public bool update() { if (dset.HasChanges() == true) { try { openConnection(); if (dadAdpt.UpdateCommand == null) { //Sets the Commands in the DataAdapter SqlCommandBuilder commBuilder = new SqlCommandBuilder(dadAdpt); } drow["ModifiedBy"] = CCFBGlobal.dbUserName; drow["Modified"] = DateTime.Now; dadAdpt.Update(dset, "HouseholdMembers"); closeConnection(); return(true); } catch (SqlException ex) { CCFBGlobal.appendErrorToErrorReport("", ex.GetBaseException().ToString()); return(false); } } return(false); }
protected void BindData() { var ListaGier = (GridView)LoginView1.FindControl("ListaGier"); DataSet ds = new DataSet(); try { ds.ReadXml(Server.MapPath("EmployeeDetails.xml")); if (ds != null && ds.HasChanges()) { ListaGier.DataSource = ds; ListaGier.DataBind(); } } catch (Exception ex) { } }
protected override void OnFormClosing(FormClosingEventArgs e) { base.OnFormClosing(e); if (e.CloseReason == CloseReason.WindowsShutDown) { return; } itemBindingSource.EndEdit(); if (itemDataset.HasChanges()) { switch (MessageBox.Show(this, "Do you want to save your changes?", "Closing", MessageBoxButtons.YesNoCancel)) { case DialogResult.No: break; case DialogResult.Yes: Save(); break; case DialogResult.Cancel: e.Cancel = true; break; default: break; } } }
public void SaveEnrolls(DataSet ds) { OleDbConnection conn = GetConnection(); try { string sql = "select * from tblEnroll"; OleDbDataAdapter da = new OleDbDataAdapter(sql, conn); OleDbCommandBuilder cb = new OleDbCommandBuilder(da); try { da.InsertCommand = cb.GetInsertCommand(true); if (ds.HasChanges()) { da.Update(ds, "tblEnroll"); ds.AcceptChanges(); } } finally { cb.Dispose(); da.Dispose(); } } finally { conn.Close(); conn.Dispose(); } }
//保存所有进货信息 private void Save_Click(object sender, RoutedEventArgs e) { if (tb_Pno.Text == "" || tb_Supplier.Text == "") { MessageBox.Show("进货批次信息不完整", "错误", MessageBoxButton.OK, MessageBoxImage.Error); return; } try { if (bAddPurchase) { //添加进货批次信息 padapter.AddOnePurchase(PurchaseInfo); } //更新进货明细 if (PurchaseDetailList.HasChanges()) { pdadapter.UpdateData(PurchaseDetailList); } MessageBox.Show("更新进货信息成功", "提醒", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } catch (Exception ex) { MessageBox.Show("异常发生,请检查数据库连接或数据是否符合标准", "提醒", MessageBoxButton.OK, MessageBoxImage.Information); //写入日志 } }
protected void Button1_Click(object sender, EventArgs e) { DataTable dt; DataRow dr; DataRowCollection drc; SqlCommandBuilder common; connect = "Data Source=.\\SQLEXPRESS;AttachDbFilename=e:\\Swachh_Bharat\\App_Data\\bharat.mdf;Integrated Security=True;User Instance=True"; SqlConnection conn = new SqlConnection(connect); conn.Open(); da = new SqlDataAdapter("select * from ulogin", conn); DataSet ds = new DataSet(); da.Fill(ds, "ulogin"); da.FillSchema(ds, SchemaType.Source, "ulogin"); dt = ds.Tables[0]; drc = dt.Rows; dr = drc.Find(TextBox1.Text); dr.Delete(); TextBox2.Text = " "; TextBox3.Text = " "; common = new SqlCommandBuilder(da); ds.HasChanges(); da.Update(ds, "ulogin"); Label5.Text = ("record is deleted"); Label5.Visible = true; conn.Close(); }
public bool update() { if (dset.HasChanges() == true) { try { openConnection(); if (dadAdpt.UpdateCommand == null) { SqlCommandBuilder commBuilder = new SqlCommandBuilder(dadAdpt); } dadAdpt.Update(dset, tbName); closeConnection(); return(true); } catch (SqlException ex) { CCFBGlobal.appendErrorToErrorReport("", ex.GetBaseException().ToString()); return(false); } } return(false); }
private void butLuu_Click(object sender, System.EventArgs e) { try { if (ds.HasChanges()) { m.execute_data("delete from " + m.user + ".bieu_08 where id=" + l_id); string exp = "c01+c02+c03+c04+c05+c06+c07>0"; DataRow[] r = ds.Tables[0].Select(exp); Int16 iRec = Convert.ToInt16(r.Length); for (Int16 i = 0; i < iRec; i++) { m.upd_bieu08(l_id, int.Parse(r[i]["ma"].ToString()), ngay.Text, int.Parse(r[i]["c01"].ToString()), int.Parse(r[i]["c02"].ToString()), int.Parse(r[i]["c03"].ToString()), int.Parse(r[i]["c04"].ToString()), int.Parse(r[i]["c05"].ToString()), int.Parse(r[i]["c06"].ToString()), int.Parse(r[i]["c07"].ToString()), i_userid); } } ena_object(false); long id = l_id; load_ngay(); cmbNgay.SelectedValue = id.ToString(); l_id = id; } catch {} load_grid(false); butMoi.Focus(); }
public void update(bool bReload) { if (dset.HasChanges() == true) { try { openConnection(); if (dadAdpt.UpdateCommand == null || dadAdpt.InsertCommand == null) { SqlCommandBuilder commBuild = new SqlCommandBuilder(dadAdpt); } dadAdpt.Update(dset, tbName); if (bReload == true) { dset.Clear(); iRowCount = dadAdpt.Fill(dset, tbName); } closeConnection(); } catch (SqlException ex) { CCFBGlobal.appendErrorToErrorReport("", ex.GetBaseException().ToString()); closeConnection(); } } }
public int UpdateDb(string query, DataSet newDs) { var changes = 0; try { ConnectDb(); var adapter = new SqlDataAdapter(query, _conn); var cmdBuilder = new SqlCommandBuilder(adapter); if (newDs.HasChanges()) { changes = adapter.Update(newDs.Tables[0]); } } catch (Exception e) { ErrorMessage(e, "L'execució de la consulta a la base de dades no s'ha executat correctament", null); } finally { _conn?.Close(); } return(changes); }
public void update() { if (dset.HasChanges() == true) { try { openConnection(); dset.Tables[tbName].Rows[0]["ModifiedBy"] = GlobalVariables.currentUser_Name; dset.Tables[tbName].Rows[0]["Modified"] = DateTime.Now; if (dadAdpt.UpdateCommand == null) { SqlCommandBuilder commBuilder = new SqlCommandBuilder(dadAdpt); } dadAdpt.Update(dset, "Service Detail"); closeConnection(); } catch (SqlException ex) { closeConnection(); GlobalVariables.appendErrorToErrorReport("", ex.GetBaseException().ToString(), GlobalVariables.serverName); } } }
private void applyButton_Click(object sender, EventArgs e) { SQLiteConnection mCN = ConnectionManager.connection; SQLiteDataAdapter mDA = modulesTableAdapter.Adapter; SQLiteCommandBuilder mCB = new SQLiteCommandBuilder(mDA); DataSet mDS = modulesDataSet; DataSet dsChanges = new DataSet(); if (!mDS.HasChanges()) { return; } dsChanges = mDS.GetChanges(DataRowState.Modified); if (dsChanges != null) { mDA.UpdateCommand = mCB.GetUpdateCommand(); mDA.Update(dsChanges, "modules"); } dsChanges = mDS.GetChanges(DataRowState.Added); if (dsChanges != null) { mDA.InsertCommand = mCB.GetInsertCommand(); mDA.Update(dsChanges, "modules"); } dsChanges = mDS.GetChanges(DataRowState.Deleted); if (dsChanges != null) { mDA.DeleteCommand = mCB.GetDeleteCommand(); mDA.Update(dsChanges, "modules"); } mDS.AcceptChanges(); UpdateModulesDropDown(); (treeView.Model as SlowTreeModel).Root.UpdateModulesFromDbRec(); treeView.Invalidate(); }
private void button1_Click(object sender, EventArgs e) { // DataSet dsActualizar; DataSet dsEliminar; //DataSet dsAgregar; GestionAviones gp = new GestionAviones(); /* * if (dsAviones.HasChanges(DataRowState.Modified)) * { * dsActualizar = new DataSet(); * dsActualizar = dsAviones.GetChanges(DataRowState.Modified); * gp.modificarAvion("Aviones", dsActualizar); * } * if (dsAviones.HasChanges(DataRowState.Added)) * { * dsAgregar = new DataSet(); * dsAgregar = dsAviones.GetChanges(DataRowState.Added); * gp.insertarAvion("Aviones", dsAgregar); * }*/ if (dsAviones.HasChanges(DataRowState.Deleted)) { dsEliminar = new DataSet(); dsEliminar = dsAviones.GetChanges(DataRowState.Deleted); gp.eliminarAvion("Aviones", dsEliminar); } MessageBox.Show("Cambios efectuados en la base de datos."); }
protected void Button1_Click(object sender, EventArgs e) { string connect; DataTable dt; DataRow dr; DataRowCollection drc; SqlCommandBuilder common; connect = "Data Source=.\\SQLEXPRESS;AttachDbFilename=e:\\Swachh_Bharat\\App_Data\\bharat.mdf;Integrated Security=True;User Instance=True"; SqlConnection con = new SqlConnection(connect); con.Open(); da = new SqlDataAdapter("select * from ulogin where user_id='" + TextBox5.Text + "'", con); DataSet ds = new DataSet(); da.Fill(ds, "ulogin"); da.FillSchema(ds, SchemaType.Source, "ulogin"); dt = ds.Tables[0]; drc = dt.Rows; dr = drc.Find(TextBox4.Text); dr.BeginEdit(); dr[3] = TextBox4.Text; dr.EndEdit(); common = new SqlCommandBuilder(da); ds.HasChanges(); da.Update(ds, "ulogin"); Label6.Text = ("User Is Updated"); Label6.Visible = true; con.Close(); }
private void dgvMenu_RowValidated(object sender, DataGridViewCellEventArgs e) { if (!dsMain.HasChanges()) { return; } SqlCommandBuilder commandBuilder = new SqlCommandBuilder(_MainAdapter); _MainAdapter.UpdateCommand = commandBuilder.GetUpdateCommand(); _MainAdapter.InsertCommand = commandBuilder.GetInsertCommand(); _MainAdapter.Update(dsMain.Tables["Menu_Master"]); dsMain.Tables["Menu_Master"].Clear(); _MainAdapter = DBClass.GetAdaptor("Menu_Master"); _MainAdapter.Fill(dsMain.Tables["Menu_Master"]); }
/// <summary> /// 保存数据(数据较少情况下) /// </summary> /// <param name="dataSet"></param> /// <param name="tableName"></param> /// <returns></returns> public bool SaveDataToTable(DataSet dataSet, string tableName) { string strSql = "select * from " + "[" + tableName + "]"; try { if (!dataSet.HasChanges()) { return(true); } DataSet changesDataSet = dataSet.GetChanges(DataRowState.Modified); int result = UpdateDataSet(dataSet, tableName, strSql); dataSet.AcceptChanges(); if (result > 0) { return(true); } else { return(false); } } catch (Exception ex) { LoggerManager.GetILog("MethodName:SaveDataToTable" + ex.StackTrace); return(false); } }
//更新支付单到支付列表中 private void UpdatePayInfo_Click(object sender, RoutedEventArgs e) { object item = LV_Pay.SelectedItem; if (item == null) { return; } DataRowView oneRow = item as DataRowView; //获取支付数据 oneRow["Pdate"] = dp_Pdate.SelectedDate; oneRow["Pmoney"] = Convert.ToDouble(tb_Pmoney.Text); try { if (PayList.HasChanges()) { payAdapter.UpdateData(PayList); } MessageBox.Show("更新支付信息成功", "提醒", MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception ex) { MessageBox.Show("异常发生,请检查数据库连接或数据是否符合标准", "错误", MessageBoxButton.OK, MessageBoxImage.Error); //写入日志 } LoadData(); }
private void btnAceptar_Click(object sender, EventArgs e) { //Asignamos valores a la nueva fila a insertar en la tabla Parejas //Le damos un valor a 'Id' para que en la fila no tenga valor NULL //sin embargo, mediante las propiedades de la BD este campo se autoincrementa solo. drNuevaFila["Id"] = 1; //Por si el jugador es un trolazo... if (txtNombre.Text == "") { drNuevaFila["Jugador"] = "Anónimo"; } else { drNuevaFila["Jugador"] = txtNombre.Text; } drNuevaFila["Tiempo"] = tiempoTranscurrido; drNuevaFila["Puntuacion"] = puntosObtenidos; //Añadimos la nueva fila al DataSet. dsJuegos.Tables["Parejas"].Rows.Add(drNuevaFila); //Actualizamos la BD if (dsJuegos.HasChanges()) { daJuegos.Update(dsJuegos, "Parejas"); } this.Dispose(); }
public bool Actualitzar(DataSet dts, string bbdd_tablename) { bool correct = false; Connectar(); conn.Open(); string query = "select * from " + bbdd_tablename; SqlDataAdapter adapter; adapter = new SqlDataAdapter(query, conn); SqlCommandBuilder cmdBuilder; cmdBuilder = new SqlCommandBuilder(adapter); if (dts.HasChanges()) { int result = adapter.Update(dts.Tables[0]); correct = true; } conn.Close(); return(correct); }
public void HasChanges() { var ds = new DataSet(); ds.Tables.Add(DataProvider.CreateParentDataTable()); // HasChanges 1 Assert.Equal(false, ds.HasChanges()); DataRow dr = ds.Tables[0].NewRow(); dr[0] = 9; ds.Tables[0].Rows.Add(dr); // HasChanges 2 Assert.Equal(true, ds.HasChanges()); }
public void HasChanges_ByDataRowState() { var ds = new DataSet(); DataRow dr; ds.Tables.Add(DataProvider.CreateParentDataTable()); // HasChanges 1 Assert.Equal(false, ds.HasChanges()); //make some changes dr = ds.Tables[0].Rows[1]; dr.Delete(); dr = ds.Tables[0].Rows[2]; dr[1] = "NewValue"; dr = ds.Tables[0].Select("", "", DataViewRowState.Unchanged)[0]; dr = ds.Tables[0].NewRow(); dr[0] = 1; ds.Tables[0].Rows.Add(dr); // HasChanges Added Assert.Equal(true, ds.HasChanges(DataRowState.Added)); // HasChanges Deleted Assert.Equal(true, ds.HasChanges(DataRowState.Deleted)); // HasChanges Modified Assert.Equal(true, ds.HasChanges(DataRowState.Modified)); // HasChanges Unchanged Assert.Equal(true, ds.HasChanges(DataRowState.Unchanged)); }