コード例 #1
0
ファイル: QuestPanel.cs プロジェクト: 6aTaPeI9/OHI
 public QuestPanel(string Data, int index, LinkedQuestList qs)
 {
     InitializeComponent();
     _index            = index;
     _qs               = qs;
     this.button1.Text = index.ToString();
 }
コード例 #2
0
ファイル: Main.cs プロジェクト: 6aTaPeI9/OHI
        //Метод заполняет двусвязный список Quests.
        private void FillQuest()
        {
            var             sqlconn  = sqlconnection.GetDBConnection(ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString);
            var             myResult = MySqlData.MySqlExecuteData.SqlReturnDataset($"Select * from ohi", sqlconn);
            LinkedQuestList qs       = new LinkedQuestList();

            if (!myResult.HasError)
            {
                if (myResult.ResultData.Rows.Count > 0)
                {
                    string data = "";
                    int    iter;
                    //Проходимся по всем записям которые пришли из базы.
                    for (int i = 0; i < myResult.ResultData.Rows.Count - 1; i++)
                    {
                        iter = 0;
                        data = "";
                        //Группируем записи с одинаковым ID в переменную data добавляя разделить ';'
                        for (int j = 0; (int)myResult.ResultData.Rows[j + i][0] == (int)myResult.ResultData.Rows[i][0]; j++)
                        {
                            data += myResult.ResultData.Rows[j + i][2].ToString() + ";";
                            iter++;
                            try
                            {
                                //Тут супер костыль... У меня не получается сделать проверку на
                                //существование следующего элемента в коллекции. Проверки на IsNullOrEmpty,
                                //на null - не работают.
                                //Поэтому ловлю ошибку выхода за пределы массива и выхожу из цикла
                                string kostyl = myResult.ResultData.Rows[j + 1 + i][0].ToString();
                            }
                            catch (System.IndexOutOfRangeException)
                            {
                                break;
                            }
                        }
                        qs.Add(data);
                        i += iter - 1;
                        if (i >= myResult.ResultData.Rows.Count - 1)
                        {
                            break;
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Отсутствует подключение к базе данных, повторите попытку позже");
                Application.Exit();
            }
            _qs = qs;
        }