Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16

Combobox и TableAdapter как обновлять таблицу

25.04.2014, 22:52. Показов 5027. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите с моей проблемой.
Есть база в акцесе с кучкой подобных таблиц в которые данные забивает пользователь из текстбоксов все таблицы одинаковые имеют только разные названия.
Есть кнопка обновляющая одну конкурентную таблицу с конкретным именем
C#
1
2
3
4
5
6
7
8
        private void button2_Click_1(object sender, EventArgs e)
        {
 
           
            f.сотрудникиTableAdapter.Insert(textBox10.Text, textBox11.Text, textBox12.Text, textBox13.Text, textBox14.Text, textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox9.Text);
            f.сотрудникиTableAdapter.Update(учет_премииDataSet);
            f.сотрудникиTableAdapter.Fill(this.учет_премииDataSet.Сотрудники);
        }
а как сделать чтоб я обновлял с кнопки имено ту таблицу которая выбрана в комбобоксе???!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2014, 22:52
Ответы с готовыми решениями:

Как НЕ обновлять Сводную Таблицу
Люди, здравствуйте. Сейчас работаю в вба со сводной таблицей. Большой. Поэтому она долго обновляется каждый раз, когда я что-то меняю....

Как обновлять таблицу с запросом на форме
У меня запрос который вычисляет остатки. Находится он на главной форме. Как его обновлять, чтоб корректно отображать данные при приходе...

Реактивное программирование? Как обновлять таблицу на админки не обновляя страницы?
Есть пользовательский интерфейс. В нем можно записаться на прием. После записи в БД добавляется запись. В админке есть таблица с запясями...

24
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
25.04.2014, 23:31
Указывай имя таблицы в Update.
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16
26.04.2014, 18:58  [ТС]
если не затруднит можно подробней?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
26.04.2014, 19:47
Подробнее, это программу надо видеть. Ну примерно так
C#
1
myDataAdapter.Update(myDataSet.Tables[myTableName]);
Это если сам подключаешься.
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16
26.04.2014, 20:07  [ТС]
Вот код управления комбобоксом
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    private void button2_Click(object sender, EventArgs e)
        {
            comboBox1.Items.Clear();
            OleDbConnection dbload = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=D:\\111111111111111\\Учет премии.accdb");
            dbload.Open();
            DataTable tbls = dbload.GetSchema("Tables", new string[] { null, null, null, "TABLE" });
 
 
            foreach (DataRow row in tbls.Rows)
            {
                string TableName = row["TABLE_NAME"].ToString();
                comboBox1.Items.Add(TableName);
               
 
            }
            dbload.Close();
 
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            OleDbConnection dbload = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=D:\\111111111111111\\Учет премии.accdb");
            dbload.Open();
            OleDbDataAdapter dbAdapter1 = new OleDbDataAdapter(@"SELECT " + comboBox1.SelectedItem + @".* FROM " + comboBox1.SelectedItem, dbload);
            DataTable dataTable = new DataTable();
            dbAdapter1.Fill(dataTable);
            dataGridView1.DataSource = dataTable;
            dbload.Close();
 
        }
Вот собственно не знаю как обратиться к TableAdapter
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
26.04.2014, 20:15
Ну вот у тебя в строке 26 вызов заполнения. Точно также вызывай Update().
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16
26.04.2014, 22:06  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  private void button4_Click(object sender, EventArgs e)
        {
             {
        try
        {
             OleDbConnection dbload = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=D:\\111111111111111\\Учет премии.accdb");
            dbload.Open();
            OleDbDataAdapter dbAdapter1 = new OleDbDataAdapter(@"SELECT " + comboBox1.SelectedItem + @".* FROM " + comboBox1.SelectedItem, dbload);
            DataTable dataTable = new DataTable();
 
            dbAdapter1.Update(dataTable);
            dataGridView1.DataSource = dataTable;
            MessageBox.Show("Изменения в базе данных выполнены!",
              "Уведомление о результатах", MessageBoxButtons.OK);
        }
        catch (Exception)
        {
            MessageBox.Show("Изменения в базе данных выполнить не удалось!",
              "Уведомление о результатах", MessageBoxButtons.OK);
        }
    }
 
}
Просидел битый час ничего не получилось... этот вариант один из лучших хотя бы запускается но не работает.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
27.04.2014, 09:01
Соединение, Адаптер и DataTable должны быть описаны в заголовке класса, а не создаваться в каждом обработчике заново. Если button4_Click() предназначен для записи изменений, то там кроме Update() больше ничего быть не должно.
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16
01.05.2014, 23:56  [ТС]
C#
1
new_adapter.Update(new_dset);
все заработало сохраняет когда забиваю вручную изменения в гридвью.
а как теперь сделать чтоб из textbox заполнял.
я сделал тупо ведь сам в этом туп.
C#
1
2
3
4
5
6
7
8
9
10
11
  dataGridView1.Rows[0].Cells[0].Value = textBox16.Text;
            dataGridView1.Rows[0].Cells[1].Value = textBox10.Text;
            dataGridView1.Rows[0].Cells[2].Value = textBox11.Text;
            dataGridView1.Rows[0].Cells[3].Value = textBox12.Text;
            dataGridView1.Rows[0].Cells[4].Value = textBox13.Text;
            dataGridView1.Rows[0].Cells[5].Value = textBox14.Text;
            dataGridView1.Rows[0].Cells[6].Value = textBox5.Text;
            dataGridView1.Rows[0].Cells[7].Value = textBox2.Text;
            dataGridView1.Rows[0].Cells[8].Value = textBox3.Text;
            dataGridView1.Rows[0].Cells[9].Value = textBox4.Text;
            dataGridView1.Rows[0].Cells[10].Value = textBox15.Text;
он заполняет 1 строку все отлично но не переходит на следующю
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
02.05.2014, 07:49
А почему именно в нулевую строку? Может надо новую добавить в конец и в неё переносить? Или у тебя DataGridView пустой?
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16
02.05.2014, 09:24  [ТС]
да datagrid пустой и dataGridView1.Rows.Add(); не дает сделать
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
02.05.2014, 11:17
А почему он пустой? Колонки-то должны быть. Ты его связал с таблицей БД?
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16
02.05.2014, 12:26  [ТС]
В datagrid выгружается конкретная таблица с колонками
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
02.05.2014, 17:35
Что значит "dataGridView1.Rows.Add() не даёт сделать"? Текст ошибки какой? Покажи тот фрагмент.
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16
02.05.2014, 18:09  [ТС]
Строки нельзя программным способом добавить в коллекцию строк DataGridView, если элемент управления привязан к данным.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
02.05.2014, 18:33
Где это сказано? Изменять их точно можно, значит и добавлять тоже.
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16
02.05.2014, 18:39  [ТС]
это выскакивает после добавления этой строки dataGridView1.Rows.Add();
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
02.05.2014, 18:46
Редактирование в DataGridView разрешено? Вручную строки добавляются?
0
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 16
02.05.2014, 18:48  [ТС]
В ручную все добавляется и сохраняется в бд.
когда делаю так
C#
1
2
3
4
5
6
7
8
9
10
11
dataGridView1.Rows[0].Cells[0].Value = textBox16.Text;
            dataGridView1.Rows[0].Cells[1].Value = textBox10.Text;
            dataGridView1.Rows[0].Cells[2].Value = textBox11.Text;
            dataGridView1.Rows[0].Cells[3].Value = textBox12.Text;
            dataGridView1.Rows[0].Cells[4].Value = textBox13.Text;
            dataGridView1.Rows[0].Cells[5].Value = textBox14.Text;
            dataGridView1.Rows[0].Cells[6].Value = textBox5.Text;
            dataGridView1.Rows[0].Cells[7].Value = textBox2.Text;
            dataGridView1.Rows[0].Cells[8].Value = textBox3.Text;
            dataGridView1.Rows[0].Cells[9].Value = textBox4.Text;
            dataGridView1.Rows[0].Cells[10].Value = textBox15.Text;
первая строка заполняется но жму в любую ячейку или жму сохранить как все очищается.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
02.05.2014, 18:53
Типы совпадают? Value ячейки будет иметь тип как у таблицы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.05.2014, 18:53
Помогаю со студенческими работами здесь

Вопрос по ADSI (периодически надо обновлять эту таблицу, чтобы добавлять в таблицу новых пользователей)
Вопрос такой. Есть задача - в БД есть таблица, в которой надо поддерживать актуальные данные о пользователях домена (например, имя...

Обращение к тому или иному TableAdapter в зависимости от выбора в ComboBox
Добрый день всем, вопрос такой, имею базу, нужно сделать некий запрос, запрос добавлю, но таких запросов у меня 116, каждый из них...

TableAdapter, добавление записей в таблицу с полем IDENTITY
Пытаюсь добавить запись в таблицу в файл mdf, через адаптер. Структура таблицы: CREATE TABLE . ( INT ...

Обновлять таблицу Excel на сайте
хочу обновлять таблицу Excel на сайте. как это делать?

Как внести данные из Combobox и DateTimePicker в Таблицу
Таблица сделана в Access и подключена. Данные из эдитов записываются прекрасно, не могу разобраться с комбобокс и дататаймпикер. Помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru