//-----------------------------------------

        // Имя папки?
        string GetFolderName(int id)
        {
            if (id == -1)
            {
                return("NULL");
            }
            else
            {
                System.Data.SqlServerCe.SqlCeCommand sqlQuery = DB.CreateQuery();
                sqlQuery.CommandText = "SELECT Name FROM Folders WHERE id=" + id;
                object o = DB.ExecuteScalar(sqlQuery);
                if (o == null || o == DBNull.Value)
                {
                    return("?");
                }
                else
                {
                    return(((string)o).Trim());
                }
            }
        }
        // **** контролы ****
        //m_textbox1  добавить
        //m_textbox2  переименовать
        //m_combo1    source
        //m_combo2    destination


        //----------------------------------------------------------------------------------------------------



        //Загрузка комбы папок
        void LoadFoldersToCombo(ComboBox combo)
        {
            bool is_from = (combo == m_combo1);
            bool is_to   = (combo == m_combo2);

            // Сохранить SELECTOR_FOLDER...
            int  saved__SELECTOR_FOLDER              = SELECTOR_FOLDER;
            int  saved__SELECTOR_FOLDER2             = SELECTOR_FOLDER2;
            bool saved__SELECTOR_FOLDER__is_enabled  = SELECTOR_FOLDER__is_enabled;
            bool saved__SELECTOR_FOLDER2__is_enabled = SELECTOR_FOLDER2__is_enabled;

            // Сначала очистить:
            combo.Items.Clear();
            combo.SelectedIndex = -1;

            // Теперь загрузить:
            //1. NULL
            System.Data.SqlServerCe.SqlCeCommand sqlQuery = DB.CreateQuery();
            sqlQuery.CommandText = "SELECT COUNT(id) FROM Games WHERE fk_Folder_id is NULL";
            object o     = DB.ExecuteScalar(sqlQuery);
            int    fid   = -1;
            string fname = "- нет папки -";

            if (o != null && o != DBNull.Value)
            {
                fname += " (" + (int)o + ")";
            }

            int index = combo.Items.Add(new comboitem_id_name(fid, fname));

            // Выбрать:
            if (is_from && saved__SELECTOR_FOLDER__is_enabled && saved__SELECTOR_FOLDER == fid || is_to && saved__SELECTOR_FOLDER2__is_enabled && saved__SELECTOR_FOLDER2 == fid)
            {
                combo.SelectedIndex = index;
            }

            // 2. остальные
            sqlQuery             = DB.CreateQuery();
            sqlQuery.CommandText = "SELECT f.id as [fid], f.Name as [fname], COUNT(g.id) as [fcount] FROM Folders f LEFT JOIN Games g ON f.id=g.fk_Folder_id GROUP BY f.id, f.Name ORDER BY [fname]";
            System.Data.SqlServerCe.SqlCeDataReader sqlReader = DB.ExecuteReader(sqlQuery);
            while (sqlReader.Read())
            {
                fid   = sqlReader.IsDBNull(sqlReader.GetOrdinal("fid")) ? -1 : sqlReader.GetInt32(sqlReader.GetOrdinal("fid"));
                fname = "";
                if (fid == -1)
                {
                    fname = "- нет папки -";
                }
                if (!sqlReader.IsDBNull(sqlReader.GetOrdinal("fname")))
                {
                    fname = sqlReader.GetString(sqlReader.GetOrdinal("fname"));
                }
                fname += " (" + (sqlReader.IsDBNull(sqlReader.GetOrdinal("fcount")) ? 0 : sqlReader.GetInt32(sqlReader.GetOrdinal("fcount"))) + ")";

                index = combo.Items.Add(new comboitem_id_name(fid, fname));

                // Выбрать:
                if (is_from && saved__SELECTOR_FOLDER__is_enabled && saved__SELECTOR_FOLDER == fid || is_to && saved__SELECTOR_FOLDER2__is_enabled && saved__SELECTOR_FOLDER2 == fid)
                {
                    combo.SelectedIndex = index;
                }
            }
            sqlReader.Close();
        }
Exemple #3
0
        //Загрузка комбы папок
        void LoadFoldersToCombo(bool reload)
        {
            // Сначала очистить:
            m_combo_Folders.Items.Clear();

            // Теперь загрузить:
            //1. NULL
            System.Data.SqlServerCe.SqlCeCommand sqlQuery = DB.CreateQuery();
            sqlQuery.CommandText = "SELECT COUNT(id) FROM Games WHERE fk_Folder_id is NULL";
            object o     = DB.ExecuteScalar(sqlQuery);
            int    fid   = -1;
            string fname = "- нет папки -";

            if (o != null && o != DBNull.Value)
            {
                fname += " (" + (int)o + ")";
            }

            int index = m_combo_Folders.Items.Add(new comboitem_id_name(fid, fname));

            // Выбрать:
            if (SELECTOR_FOLDER__is_enabled && SELECTOR_FOLDER == fid)
            {
                if (reload)
                {
                    dont_react_on_folder_selection = true;
                }
                m_combo_Folders.SelectedIndex = index;
                if (reload)
                {
                    dont_react_on_folder_selection = false;
                }
            }

            // 2. остальные
            sqlQuery             = DB.CreateQuery();
            sqlQuery.CommandText = "SELECT f.id as [fid], f.Name as [fname], COUNT(g.id) as [fcount] FROM Folders f LEFT JOIN Games g ON f.id=g.fk_Folder_id GROUP BY f.id, f.Name ORDER BY [fname]";
            System.Data.SqlServerCe.SqlCeDataReader sqlReader = DB.ExecuteReader(sqlQuery);
            while (sqlReader.Read())
            {
                fid   = sqlReader.IsDBNull(sqlReader.GetOrdinal("fid")) ? -1 : sqlReader.GetInt32(sqlReader.GetOrdinal("fid"));
                fname = "";
                if (fid == -1)
                {
                    fname = "- нет папки -";
                }
                if (!sqlReader.IsDBNull(sqlReader.GetOrdinal("fname")))
                {
                    fname = sqlReader.GetString(sqlReader.GetOrdinal("fname"));
                }
                fname += " (" + (sqlReader.IsDBNull(sqlReader.GetOrdinal("fcount")) ? 0 : sqlReader.GetInt32(sqlReader.GetOrdinal("fcount"))) + ")";

                index = m_combo_Folders.Items.Add(new comboitem_id_name(fid, fname));

                // Выбрать:
                if (SELECTOR_FOLDER__is_enabled && SELECTOR_FOLDER == fid)
                {
                    if (reload)
                    {
                        dont_react_on_folder_selection = true;
                    }
                    m_combo_Folders.SelectedIndex = index;
                    if (reload)
                    {
                        dont_react_on_folder_selection = false;
                    }
                }
            }
            sqlReader.Close();
        }