コード例 #1
0
        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;
        }
コード例 #2
0
ファイル: Imation.cs プロジェクト: trancongvy/CBADev17
        //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();
            }
        }