예제 #1
0
파일: PIN.cs 프로젝트: tsengee/XFS4NET
 protected override void OnExecuteComplete(ref WFSRESULT result)
 {
     switch (result.dwCommandCodeOrEventID)
     {
     case PINDefinition.WFS_CMD_PIN_GET_DATA:
         if (result.hResult != XFSDefinition.WFS_SUCCESS)
         {
             OnGetDataError(result.hResult);
         }
         else
         if (GetDataCompleted != null)
         {
             GetDataCompleted.Invoke();
         }
         break;
     }
 }
예제 #2
0
        public static async void GetData(BindingSource main, BindingSource detail)
        {
            DataSet db = new DataSet
            {
                Locale = System.Globalization.CultureInfo.InvariantCulture
            };

            if (await GetServerPing())
            {
                using (SqlConnection cn = new SqlConnection(Connection))
                {
                    try
                    {
                        cn.Open();
                        SqlCommand sCommandMain = new SqlCommand(CommandMain, cn)
                        {
                            CommandTimeout = 5
                        };
                        SqlCommand sCommandDetail = new SqlCommand(CommandDetail, cn)
                        {
                            CommandTimeout = 5
                        };

                        SqlDataAdapter AdapterMain   = new SqlDataAdapter(sCommandMain);
                        SqlDataAdapter AdapterDetail = new SqlDataAdapter(sCommandDetail);

                        AdapterMain.Fill(db, "PhyServers");
                        AdapterDetail.Fill(db, "VirServers");

                        //Связать отношением
                        DataRelation relation = new DataRelation("AllServers",
                                                                 db.Tables["PhyServers"].Columns["ID"],
                                                                 db.Tables["VirServers"].Columns["ID"]); //Он же ParrentServer

                        db.Relations.Add(relation);

                        cmd.DgStatus(db.Tables["PhyServers"], 1);   // 1 - таблица физических серверов
                        cmd.DgStatus(db.Tables["VirServers"], 2);   // 2 - таблица виртуальных сер

                        main.DataSource = db;
                        main.DataMember = "PhyServers";

                        detail.DataSource = main;
                        detail.DataMember = "AllServers";

                        // запускаем событие об успешной загрузке данных.
                        GetDataCompleted?.Invoke();
                    }
                    catch (SqlException)
                    {
                        throw;
                    }
                }
                db.Dispose();
            }
            else
            {
                MessageBox.Show("Не создано подключение к базе данных. Проверьте, что вы база доступна по сети.\n", "Production servers", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }