dsLanguageData.CardDataTable getSelectedCardsBySelectedLetters()
        {
            string whereClause = string.Empty;
            bool empty = true;
            string column = string.Empty;

            LanguageData dataLayer = new LanguageData();
            dsLanguageData.DictionaryDataTable dictionary = dataLayer.daDictionary.GetData();

            foreach (MWCommon.MWTreeNodeWrapper node in dictionaryTreeView.SelNodes.Values)
            {
                MyTreeNode tmp = node.Node as MyTreeNode;
                if (tmp.Type == MyTreeNodeType.Letter)
                {
                    empty = false;
                    DataRow[] rows = dictionary.Select(string.Format("Name = '{0}'", tmp.Parent.Text));
                    column = rows[0]["Column"].ToString();
                    whereClause += string.Format("({0} LIKE '{1}%') OR", column, tmp.Text);
                }
            }

            if (!empty)
            {
                whereClause = whereClause.Remove(whereClause.Length - 2, 2);
                whereClause += string.Format(" Order By {0}", column);
            }

            return dataLayer.GetCardsWhere(whereClause);
        }
        void search()
        {
            if (txtSearch.Text.Trim().Length < 1)
            {
                MessageBox.Show("Please enter text to search for.", "Search for what?", MessageBoxButtons.OK);
                return;
            }

            string precision = "%";
            if (chkBoxExact.Checked)
                precision = string.Empty;

            string whereClause = string.Format("Where {0} like '{2}{1}{2}'", cmbSearchBy.SelectedItem.ToString(), txtSearch.Text, precision);

            if (cmbSearchBy.SelectedItem.ToString() == both)
            {
                whereClause = string.Format("Where Answer like '{1}{0}{1}' OR Question like '{1}{0}{1}'", txtSearch.Text, precision);
            }

            LanguageData dataLayer = new LanguageData();
            loadResults(dataLayer.GetCardsWhere(whereClause));
        }
        dsLanguageData.CardDataTable getSelectedCardsBySelectedCardsInDictionary()
        {
            string whereClause = "Where ID in (";
            bool empty = true;

            LanguageData dataLayer = new LanguageData();
            dsLanguageData.DictionaryDataTable dictionary = dataLayer.daDictionary.GetData();
            string column = string.Empty;

            foreach (MWCommon.MWTreeNodeWrapper node in dictionaryTreeView.SelNodes.Values)
            {
                MyTreeNode tmp = node.Node as MyTreeNode;
                if (tmp.Type == MyTreeNodeType.Card)
                {
                    DataRow[] rows = dictionary.Select(string.Format("Name = '{0}'", tmp.Parent.Parent.Text));
                    column = rows[0]["Column"].ToString();

                    whereClause += tmp.ID.ToString() + ", ";
                    empty = false;
                }
            }

            if(empty)
                return new dsLanguageData.CardDataTable();

            whereClause = whereClause.Remove(whereClause.Length - 2,2);
            whereClause += ") Order By " + column;

            return dataLayer.GetCardsWhere(whereClause);
        }