Esempio n. 1
0
        private void JoinButtonLogic(string JoinType)
        {
            // fill the column textboxes with column info

            saveJoinType     = JoinType;
            LeftSideJoinTab  = lbJoined.CheckedItems[0].ToString();
            RightSideJoinTab = lbUnjoined.CheckedItems[0].ToString();
            queryTabInfo  LeftTabInfo = getQTinfoFor(LeftSideJoinTab);
            List <string> LeftTabCols = LeftTabInfo.showColumns;

            lblJoinedTab.Text   = LeftSideJoinTab;
            lblUnjoinedTab.Text = RightSideJoinTab;

            clbLeftCols.Items.Clear();
            foreach (string OneCol in LeftTabCols)
            {
                clbLeftCols.Items.Add(OneCol);
            }

            TabThatNeedsCols = lbUnjoined.CheckedItems[0];
            myCC             = GetTheColumns();
            clbRightCols.Items.Clear();
            foreach (object OneCol in myCC.lbColumnLister.Items)
            {
                clbRightCols.Items.Add(OneCol);
            }

            // auto check columns with same names

            this.gbColsJoin.Visible = true;
            this.Refresh();
            Application.DoEvents();
        }
Esempio n. 2
0
        private void BuildSQLstring()
        {
            builtSQLquery   = "";
            bsqSelectClause = "SELECT ";
            bsqFromClause   = "\r\nFROM ";
            bsqExtrasClause = "\r\nWHERE (<add your criteria here>)\r\n-- ORDER BY <optionally add sort fields>";
            if (getQO.btnAlias.Checked)
            {
                BuildTableAliases();
            }

            if (getQO.btnDistinct.Checked)
            {
                bsqSelectClause += "DISTINCT ";
            }
            if (getQO.btnTop20.Checked)
            {
                bsqSelectClause += "TOP(20) ";
            }

            foreach (queryTabInfo oneTabInfo in queryParms)
            {
                foreach (string OneField in oneTabInfo.showColumns)
                {
                    bsqSelectClause += GetFieldName(oneTabInfo.TableName, oneTabInfo.Alias, OneField) + ", ";
                }
                if (oneTabInfo.JoinType != null)
                {
                    bsqFromClause += oneTabInfo.JoinType.ToUpper() + " ";
                }
                bsqFromClause += oneTabInfo.TableName + " ";
                if (oneTabInfo.Alias != "")
                {
                    bsqFromClause += "AS " + oneTabInfo.Alias + " ";
                }
                if (getQO.btnNolock.Checked)
                {
                    bsqFromClause += "WITH(NOLOCK) ";
                }

                if (oneTabInfo.JoinType != null)
                {
                    bsqFromClause += "ON ";
                    for (int i = 0; i < oneTabInfo.MyJoinColumns.Count; i++)
                    {
                        bsqFromClause += GetFieldName(oneTabInfo.TableName, oneTabInfo.Alias, oneTabInfo.MyJoinColumns[i]);
                        bsqFromClause += " = ";
                        queryTabInfo ToTabInfo   = getQTinfoFor(oneTabInfo.JoiningTo);
                        string       toJoinAlias = ToTabInfo.Alias;
                        bsqFromClause += GetFieldName(oneTabInfo.JoiningTo, toJoinAlias, oneTabInfo.ToJoinColumns[i]) + " AND ";
                    }
                    bsqFromClause = bsqFromClause.Substring(0, bsqFromClause.Length - 4);
                }
            }

            bsqSelectClause = bsqSelectClause.Substring(0, bsqSelectClause.Length - 2);
            builtSQLquery   = bsqSelectClause + bsqFromClause + bsqExtrasClause;
        }
Esempio n. 3
0
        private void btnDoneJoinCs_Click(object sender, EventArgs e)
        {
            this.gbColsJoin.Visible = false;
            if (!GetColsToShowRight(myCC))
            {
                return;
            }
            Application.DoEvents();

            // store info to internal struct list

            var myqTinfo = new queryTabInfo();

            myqTinfo.TableName   = TabThatNeedsCols.ToString();
            myqTinfo.showColumns = GetReturnedColumns();

            myqTinfo.JoinType      = saveJoinType;
            myqTinfo.JoiningTo     = lbJoined.CheckedItems[0].ToString();
            myqTinfo.MyJoinColumns = new List <string>();
            myqTinfo.ToJoinColumns = new List <string>();
            foreach (object OneCol in clbLeftCols.CheckedItems)
            {
                myqTinfo.MyJoinColumns.Add(OneCol.ToString());
            }
            foreach (object OneCol in clbRightCols.CheckedItems)
            {
                myqTinfo.ToJoinColumns.Add(OneCol.ToString());
            }

            queryParms.Add(myqTinfo);

            // move table over from unjoined to joined list and clear checkboxes

            lbUnjoined.Items.Remove(lbUnjoined.CheckedItems[0]);
            lbJoined.Items.Add(TabThatNeedsCols.ToString());
            lbJoined.ClearSelected();
            lbUnjoined.ClearSelected();
            while (lbJoined.CheckedIndices.Count > 0)
            {
                lbJoined.SetItemChecked(lbJoined.CheckedIndices[0], false);
            }

            AdjustJoinButtons();
            this.Show();
        }
Esempio n. 4
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            TabThatNeedsCols = lbJoined.CheckedItems[0];
            queryTabInfo  myTabInfo      = getQTinfoFor(TabThatNeedsCols.ToString());
            List <string> alreadyChecked = myTabInfo.showColumns;

            myCC = GetTheColumns(alreadyChecked);
            Application.DoEvents();
            myCC.ShowDialog();

            if (GetReturnedColumns().Count == 0)
            {
                // what happens if they deselect all the columns?
            }

            myTabInfo.showColumns = GetReturnedColumns();
            queryParms[qpIndex]   = myTabInfo;
            myCC.Close();
        }
Esempio n. 5
0
        public void JFinitialize()
        {
            frmTabDispParent.Hide();
            this.Top  = frmTabDispParent.PlaceForms.topForm;
            this.Left = frmTabDispParent.PlaceForms.LeftForm;

            Application.DoEvents();

            bool firstObj = true;

            foreach (object OneTab in passedJoinedTabs)
            {
                if (firstObj)
                {
                    lbJoined.Items.Add(OneTab);
                    TabThatNeedsCols = OneTab;
                    firstObj         = false;
                }
                else
                {
                    lbUnjoined.Items.Add(OneTab);
                }
            }

            myCC = GetTheColumns();

            Application.DoEvents();
            myCC.ShowDialog();

            if (GetReturnedColumns().Count == 0)
            {
                // what happens if they didn't select any columns the first time?
            }

            var myqTinfo = new queryTabInfo();

            myqTinfo.TableName   = TabThatNeedsCols.ToString();
            myqTinfo.showColumns = GetReturnedColumns();

            queryParms.Add(myqTinfo);
            myCC.Close();
        }
Esempio n. 6
0
        private void BuildTableAliases()
        {
            InputName myLogicClass = new InputName();

            for (int i = 0; i < queryParms.Count; i++)
            {
                queryTabInfo oneTabInfo = queryParms[i];
                string       thisAlias  = myLogicClass.SuggestAlias(oneTabInfo.TableName);
                if (thisAlias.Length == 1)
                {
                    thisAlias = thisAlias.ToUpper();
                }
                else
                {
                    thisAlias = thisAlias.ToLower();
                }
                oneTabInfo.Alias = thisAlias;
                queryParms[i]    = oneTabInfo;
            }
        }
Esempio n. 7
0
        private bool GetColsToShowRight(ColumnChooser myCC)
        {
            this.Hide();
            Application.DoEvents();
            myCC.ShowDialog();

            if (GetReturnedColumns().Count == 0)
            {
                UndoTheJoin();
                myCC.Close();
                return(false);
            }

            var myqTinfo = new queryTabInfo();

            myqTinfo.TableName   = TabThatNeedsCols.ToString();
            myqTinfo.showColumns = GetReturnedColumns();

            myCC.Close();
            return(true);
        }