private void UpdateData() { string sql; DataView dvMain = tbMain.DefaultView; try { _db.BeginMultiTrans(); dvMain.RowStateFilter = DataViewRowState.ModifiedOriginal; foreach (DataRowView dr in dvMain) { //Trường hợp thêm mới mà chưa thêm ngày if (dr.Row["ngaygd"] == DBNull.Value && dr["ngaygd"] == DBNull.Value) { dr.Row.SetColumnError(dr.Row.Table.Columns["ngaygd"], "dữ liệu chưa hợp lệ"); continue; }//trường hợp thêm mới else if (dr.Row["ngaygd"] != DBNull.Value && dr["ngaygd"] == DBNull.Value) { sql = genInsertString(dr.Row); _db.UpdateByNonQuery(sql); } else if (dr.Row["ngaygd"] != DBNull.Value && dr["ngaygd"] != DBNull.Value) { sql = genUpdateString(dr.Row); _db.UpdateByNonQuery(sql); } if (_db.HasErrors) { break; } else { dr.Row.AcceptChanges(); } } if (_db.HasErrors) { _db.RollbackMultiTrans(); } else { _db.EndMultiTrans(); } } catch (Exception ex) { _db.RollbackMultiTrans(); } dvMain.RowStateFilter = DataViewRowState.CurrentRows; }
//Save private void btOk_Click(object sender, EventArgs e) { db.BeginMultiTrans(); SaveSohieu(); if (!SaveImation()) { db.RollbackMultiTrans(); return; } if (db.HasErrors) { db.RollbackMultiTrans(); return; } if (TbCurrent == null) { InLoadDL f = new InLoadDL(MasterTb, EndTk, EndTk - n + 1); TbCurrent = f.tbCr; } if (!SaveWC(TbCurrent)) { return; } DataTable tbNVL = GetNVL(); if (!SaveNVL(tbNVL)) { return; } if (db.HasErrors) { db.RollbackMultiTrans(); return; } else { db.EndMultiTrans(); } }