Esempio n. 1
0
        public FMain()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            try
            {
                string[] hardNames;
                using (FWait wait = new FWait(new Action(() =>
                {
                    hardNames = SQLWorks.getUserTablesNames();
                    cbTablesList.Items.AddRange(hardNames.Select(s => SQlToHumanTranslater.TranslateToHuman(s)).ToArray());
                })))
                {
                    wait.ShowDialog(this);
                }
                cbTablesList.SelectedIndex = 0;

                string mas = string.Join(",", AllColumnsOfTables());
            }
            catch (Exception e)
            {
                DisplayStatus(e.Message);
            }
        }
Esempio n. 2
0
 private FAddToTable(string tableName)
 {
     InitializeComponent();
     TableName          = tableName;
     Text               = SQlToHumanTranslater.TranslateToHuman(tableName);
     StartPosition      = FormStartPosition.CenterParent;
     table              = SQLWorks.ExecuteQuery(string.Format("SELECT * FROM {0}", tableName));
     lastConrolPosition = new Point(10, -20);
     CreateForm();
 }
Esempio n. 3
0
        void DataTableDecorator()
        {
            int colSize = dgvTableView.Width / dgvTableView.Columns.Count;

            foreach (DataGridViewColumn col in dgvTableView.Columns)
            {
                col.Width      = colSize;
                col.HeaderText = SQlToHumanTranslater.TranslateToHuman(col.HeaderText);
            }
        }
Esempio n. 4
0
 private FAddToTable(string tableName)
 {
     InitializeComponent();
     TableName          = tableName;
     Text               = SQlToHumanTranslater.TranslateToHuman(tableName);
     StartPosition      = FormStartPosition.CenterParent;
     table              = SQLWorks.ExecuteQuery(string.Format("SELECT * FROM {0}", tableName));
     lastConrolPosition = new Point(10, 10);
     ColumnNames        = SQLWorks.ExecuteQuery(string.Format("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME != 'id' AND TABLE_NAME = '{0}'", tableName)).
                          Rows.Cast <DataRow>().Select(row => row[0].ToString()).ToArray();
     for (int i = 0; i < ColumnNames.Length; i++)
     {
         CreateForm(ColumnNames[i]);
     }
     Size = new Size(600, (Controls.Count * 50) + 200);
 }
Esempio n. 5
0
        List <Control> editableControlList;//список контролов на валидацию
        /// <summary>
        /// вставляет пару лэйбл - текстбокс аналогичный полю в БД
        /// </summary>
        /// <param name="name">Имя аналогичного столбца из БД</param>
        private void AddField(string name)//необходимо как то привести к паттерну стратегия
        {
            Label l = new Label()
            {
                Text     = SQlToHumanTranslater.TranslateToHuman(name),
                Location = LastConrolPosition,
                Size     = Size = new Size(500, 30)
            };
            string type = SQLWorks.ExecuteQuery(
                string.Format("SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '{0}' AND COLUMN_NAME = '{1}'", TableName, name)).Rows[0][0].ToString();
            Control c;

            if (name.ToUpper().Contains("ID") || type == "bit") //для поля пол в таблице Юзерс
            {
                c = new ComboBox()                              //вместо текстбокса - комбобокс
                {
                    AutoCompleteMode   = AutoCompleteMode.Append,
                    AutoCompleteSource = AutoCompleteSource.ListItems
                };

                if (name.ToLower() == "isman")//плохо
                {
                    ((ComboBox)c).Items.AddRange(new string[] { "муж", "жен" });
                }

                else
                {
                    ((ComboBox)c).Items.AddRange(
                        SQLWorks.getRelatedTable(name).Rows.Cast <DataRow>().Select(r => r[1].ToString()).ToArray <string>()
                        );
                }
            }

            else
            {
                c = new TextBox();
            }
            c.Name     = name;
            c.Size     = new Size(500, 30);
            c.Location = LastConrolPosition;
            c.Enabled  = true;
            c.Font     = new Font(Font.FontFamily, 15);

            editableControlList.Add(c);

            this.Controls.AddRange(new Control[] { l, c });
        }
Esempio n. 6
0
        void CreateForm(string name)
        {
            Label l = new Label()
            {
                Text     = SQlToHumanTranslater.TranslateToHuman(name),
                Location = LastConrolPosition,
            };
            string type = SQLWorks.ExecuteQuery(
                string.Format("SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '{0}' AND COLUMN_NAME = '{1}'", TableName, name)).Rows[0][0].ToString();
            Control c;

            if (type != "bit")
            {
                c = new TextBox()
                {
                    Size     = new Size(500, 30),
                    Location = LastConrolPosition,
                    Enabled  = true,
                    //AutoSize = false,
                    Font = new Font(Font.FontFamily, 15)
                };
            }
            else
            {
                c = new ComboBox()
                {
                    Size     = new Size(500, 30),
                    Location = LastConrolPosition,
                    Enabled  = true,
                    Font     = new Font(Font.FontFamily, 15)
                };
                ((ComboBox)c).Items.AddRange((new string[] { "муж", "жен" }));
            }

            this.Controls.Add(l);
            this.Controls.Add(c);
        }
Esempio n. 7
0
 private void заполнитьТаблицуToolStripMenuItem_Click(object sender, EventArgs e)
 {
     FAddToTable.getAddForm(SQlToHumanTranslater.TranslateToSQL(cbTablesList.Text)).ShowDialog();
 }
Esempio n. 8
0
        /*
         * private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
         * {
         *
         *  cbAvailableSQLInstaces.Enabled = true;
         *  string selected = (sender as ComboBox).Text;
         *  cbAvailableSQLInstaces.Items.AddRange(NetWorks.GetSQLInstance(selected));
         *  cbAvailableSQLInstaces.SelectedIndex = 0;
         * }
         */


        private void cbTablesList_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                DataTable table = SQLWorks.ExecuteQuery(string.Format("SELECT * FROM {0}", SQlToHumanTranslater.TranslateToSQL(((ComboBox)sender).Text)));
                dgvTableView.DataSource = table;
                DataTableDecorator();
            }

            catch (Exception ex)
            {
                DisplayStatus(ex.Message);
            }


            /*
             *  SqlCommand cmd = new SqlCommand(command, connection);
             *
             *  var result = cmd.BeginExecuteReader();
             *  while (!result.IsCompleted)
             *  {
             *
             *
             *  }
             *
             *  using (SqlDataReader reader = cmd.EndExecuteReader(result))
             *  {
             *      DataTable table = new DataTable();
             *      table.Load(reader);
             *      dataGridView1.DataSource = table;
             *  }*/


            //}
        }
Esempio n. 9
0
        private void btnInsert_Click(object sender, EventArgs e)
        {
            /*string s = string.Empty;
             * s += editableControlList.Cast<Control>().Select(i =>SQlToHumanTranslater.TranslateToHuman(i.Name)).Aggregate((i, j) => i + "\r\n" + j);*/


            // MessageBox.Show(s);

            foreach (Control c in editableControlList)
            {
                if (string.IsNullOrWhiteSpace(c.Text))
                {
                    DisplayStatus(string.Format("Поле {0} не заполнено, ай - яй - яй", SQlToHumanTranslater.TranslateToHuman(c.Name)));
                    return;
                }
                if (c is ComboBox)
                {
                    if (!((ComboBox)c).Items.Contains(c.Text))
                    {
                        DisplayStatus(string.Format("Поле {0} не соответствует предложенному списку\n(нет в базе такой профессии, отдела и т.д.).\n Сперва туда внеси. А пока все плохо.", SQlToHumanTranslater.TranslateToHuman(c.Name)));
                        return;
                    }
                }
                DisplayStatus("Ладно, пойдет");
            }
        }