Esempio n. 1
0
        private void button_save_Click(object sender, EventArgs e)
        {
            DateTime begin = DateTime.Now;
            TabPage  page  = tabControl_result.SelectedTab;

            if (page != null)
            {
                try
                {
                    DataGridView grid = page.Tag as DataGridView;
                    if (grid != null)
                    {
                        DataTable table = grid.Tag as DataTable;
                        if (table != null)
                        {
                            toolStripStatusLabel_time.Text = "正在调用远程服务,请稍候...";
                            statusStrip_state.Update();

                            int          count = 0;
                            ITransactior tran  = new Transactior();
                            tran.Begin();
                            try
                            {
                                tran.Post(table);
                                if (!tran.IsChanged())
                                {
                                    toolStripStatusLabel_time.Text = string.Format("数据集[{0}]没有需要保存的数据.", page.Text);
                                    statusStrip_state.Update();
                                    tran.Commit();
                                    return;
                                }
                                count = tran.Commit();
                            }
                            catch (Exception ex)
                            {
                                tran.Rollback();
                                throw ex;
                            }

                            toolStripStatusLabel_time.Text = String.Format("保存数据集[{0}]执行成功({1}),耗时:{2:c}", page.Text, count, DateTime.Now - begin);
                        }
                    }
                }
                catch (Exception exc)
                {
                    toolStripStatusLabel_time.Text = String.Format("保存数据集[{0}]执行失败,耗时:{0:c}", page.Text, DateTime.Now - begin);
                    richTextBox_result.Text        = String.Format("保存数据集[{0}]执行失败:\n\r{0}", page.Text, exc);
                    ClearResultPage();
                }
            }
        }