コード例 #1
0
        public int checkMaxPnoPlusOne()
        {
            int value = 0;

            //Set isolation level
            TransactionOptions ops = new TransactionOptions();

            ops.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;

            //Wrapp transaction
            using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, ops))
            {
                try
                {
                    var result = db.getHighestPno();

                    foreach (var res in result)
                    {
                        if (res.Column1 == null)
                        {
                            value = 0;
                        }
                        else if (res.Column1 != null)
                        {
                            value = Convert.ToInt32(res.Column1.ToString());
                        }
                    }
                    db.SubmitChanges();
                    trans.Complete();
                }
                catch (SqlException e)
                {
                    MessageBox.Show(e.Message.ToString());
                }
                catch (TransactionAbortedException tab)
                {
                    MessageBox.Show(tab.Message.ToString());
                }
                catch (TransactionInDoubtException tib)
                {
                    MessageBox.Show(tib.Message.ToString());
                }
            }
            return(value + 1);
        }