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); } }
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(); }
void DataTableDecorator() { int colSize = dgvTableView.Width / dgvTableView.Columns.Count; foreach (DataGridViewColumn col in dgvTableView.Columns) { col.Width = colSize; col.HeaderText = SQlToHumanTranslater.TranslateToHuman(col.HeaderText); } }
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); }
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 }); }
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); }
private void заполнитьТаблицуToolStripMenuItem_Click(object sender, EventArgs e) { FAddToTable.getAddForm(SQlToHumanTranslater.TranslateToSQL(cbTablesList.Text)).ShowDialog(); }
/* * 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; * }*/ //} }
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("Ладно, пойдет"); } }