Получение данных с программно созданных элементов - C# (213110)

Узнай цену своей работы

Формулировка задачи:

Программно создаю DataGridView И загружаю в него данные из базы данных. Вопрос: Как теперь получить с него значения полей чтоб удалить или изменить записи в базе? Предполагаю что удалятся будет примерно так
 int p = Convert.ToInt32(this.myDataGridView.CurrentRow.Cells[0].Value);
 del("DELETE FROM C_CLIENTS WHERE ID=", p);
public void tabel(string a)
        {
            TabControl tp = new TabControl();
            tp.Width = 500;
            tp.Height = 250;
            tp.Left = 0;
            tp.Top = 50;
            //tp.Dock = DockStyle.Fill;
            this.Controls.Add(tp);
            TabPage t = new TabPage(a);
            DataGridView d = new DataGridView();
            Panel p = new Panel();
            p.Dock = DockStyle.Fill;
            p.Parent = t;
            d.Parent = p;
            d.Dock = DockStyle.Fill;
            d.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            d.AllowUserToAddRows = false;
            d.AllowUserToDeleteRows = false;
            d.ReadOnly = true;
            d.AllowUserToOrderColumns = true;
            d.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            StatusStrip s = new StatusStrip();
            s.Parent = t;
            ToolStrip to = new ToolStrip();
            to.Parent = t;
            tp.Appearance = TabAppearance.FlatButtons;
            tp.Multiline = false;
            ToolStripTextBox te = new ToolStripTextBox();
            to.Items.Add(te);
            tp.TabPages.Add(t);
            d.DataSource = sel("SELECT * FROM C_CLIENTS WHERE NAME LIKE '%" + NameSel.Text + "%'"); ;
        }
И еще если выкладывать на форму tabControl то вкладки программно добавляются без проблем
tabControl1.TabPages.Add(t);
А если программно то он не меняется. В чем может быть дело?

Решение задачи: «Получение данных с программно созданных элементов»

textual
Листинг программы
            FbCommand InsertSQL = new FbCommand(a + b, fb);
 
 
            if (fb.State == ConnectionState.Closed) //если соединение закрыто - откроем его; Перечисление ConnectionState содержит состояния соединения (подключено/отключено)
                fb.Open();
 
 
            FbTransaction fbt = fb.BeginTransaction(); //стартуем транзакцию; стартовать транзакцию можно только для открытой базы (т.е. мутод Open() уже был вызван ранее, иначе ошибка)
 
 
            InsertSQL.Transaction = fbt; //необходимо проинициализить транзакцию для объекта InsertSQL
 
 
            try
            {
                int res = InsertSQL.ExecuteNonQuery(); //для запросов, не возвращающих набор данных (insert, update, delete) надо вызывать этот метод
                MessageBox.Show("SUCCESS: " + res.ToString());
                fbt.Commit(); //если вставка прошла успешно - комитим транзакцию
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
 
 
            InsertSQL.Dispose(); //в документации написано, что ОЧЕНЬ рекомендуется убивать объекты этого типа, если они больше не нужны
            fb.Close();
           
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы