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

Добавить запись в БД Access

24.04.2014, 16:23. Показов 15074. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. Помогите на простом примере решить проблему. Есть форма след. вида (на скрине). В ComboBox выбираем значение, в зависимости от выбора меняются данные в трех TextBox'ах. Необходимо насторить работу кнопок "добавить" и "удалить", например дошли до "cabinet5" в ComboBox, заполнили пустые TextBox данными, нажали "добавить" и запись добавилась в БД. DataGridView здесь нужен просто для контроля.
Я пока кое-как заставил работать кнопку "изменить":
C#
1
2
3
4
5
6
private void button2_Click(object sender, EventArgs e)
        {
            monitorTableAdapter.Update(ds);
            MessageBox.Show("Данные обновлены!");
            dataGridView1.Refresh();
        }
Помогите с остальными кнопками, если есть "правильный" вариант для кнопки "изменить", то подскажите пожалуйста.
много гуглил по этому поводу и на форуме похожие темы находил, но для себя решение не нашел или не получилось под себя адаптировать.
Если можно, то распишите поподробнее что зачем и как, а то я сильно плаваю в данной теме.
Миниатюры
Добавить запись в БД Access   Добавить запись в БД Access   Добавить запись в БД Access  

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.04.2014, 16:23
Ответы с готовыми решениями:

БД MS Access: как добавить запись в таблицу
Здравствуйте Уважаемые ФормучанЭ .. Тут возник вопрос по поводу добавления данных в БД )) База на Access , Интерфейс на C# .. Для...

Как добавить запись в таблицу MS Access
Приветствую. Подскажите почему такой код невставляет запись в базу данных? string sSQLCommand = "INSERT INTO AVTO (Login,...

Добавить запись в БД Access
Может кто подскажет как добавить запись в Access взяв данные из формы

35
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
25.04.2014, 12:34  [ТС]
Студворк — интернет-сервис помощи студентам
В общем задача свелась к такому варианту. Теперь нужно чтоб при выборе "кабинета" в ComboBox в DataGridView оставалась только соответствующая "кабинету" запись, которую можно редактировать непосредственно в DataGridView и сохранять изменения при нажатии кнопки. Как это реализовать?
Миниатюры
Добавить запись в БД Access  
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
25.04.2014, 19:53
Попробуй так. Изначально загружаешь все данные в Grid. По событию выбора в ComboBox устанавливаешь фильтр
C#
1
ds.Tables["monitor"].DefaultView.RowFilter = "cabID = " +;
где ds - твой DataSet. После плюса добавляешь SelectedValue из ComboBox с преобразованием в строку при необходимости.
0
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
27.04.2014, 10:11  [ТС]
Не работает. Сделал так:
C#
1
2
3
4
5
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            ds.Tables["monitor"].DefaultView.RowFilter = "cabID = " ;
            
        }
При изменении значегия в ComboBox происходит исключение где написано что после "=" должно что-то быть.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
27.04.2014, 10:31
Читай внимательнее. Я же писал "После плюса добавляешь SelectedValue из ComboBox с преобразованием в строку при необходимости".
0
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
27.04.2014, 15:26  [ТС]
Вот так?
C#
1
2
3
4
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            ds.Tables["monitor"].DefaultView.RowFilter = "cabID = " + comboBox1.SelectedValue.ToString();
        }
Объясните пожалуйста подробнее, для меня пока тяжело в этом разобраться. И что нужно в properties у ComboBox' а указывать в поле Data?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
27.04.2014, 19:33
Ну по виду правильно. Тип cabID в БД - число?
В ComboBox: DataSource - таблица "Cabinet", DispalayMember - "cabinet", ValueMember - "id"
0
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
29.04.2014, 15:30  [ТС]
Ну я все так и делал, в properties все так же выставлял, в cabID число. Но при выборе записи в ComboBox ничего не происходит.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
29.04.2014, 21:25
У меня работает. Текст программы тогда покажи.
0
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
01.05.2014, 13:43  [ТС]
Вот код:
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
31
32
33
34
35
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication16
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'ds.Cabinet' table. You can move, or remove it, as needed.
            this.cabinetTableAdapter.Fill(this.ds.Cabinet);
            // TODO: This line of code loads data into the 'ds.monitor' table. You can move, or remove it, as needed.
            this.monitorTableAdapter.Fill(this.ds.monitor);
 
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            ds.Tables["monitor"].DefaultView.RowFilter = "cabID = " + comboBox1.SelectedValue.ToString();
                       
        }
    }
}
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
01.05.2014, 17:23
Ты подключение вручную делаешь или визуальными средствами подключился? Не вижу, где объявлен ds. Может у тебя промежуточный BindingSource между DataTable и DataGridView? Тогда назначай фильтр ему.
0
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
07.05.2014, 14:57  [ТС]
Попробую через BindingSource. Буду разбираться.
Еще такой вопрос. Возникла такая же проблема как в этой теме: https://www.cyberforum.ru/ado-... 68804.html. Т.е. при попытке ввода в DataGridView в ячейку букв вместо цифр появляется исключение с предложением обработать событие DataError. В примере на msdn не смог разобраться. Пробовал разные примеры, но окно с исключением все равно появляется.
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
using System;
using System.Data;
using System.Windows.Forms;
 
namespace WindowsFormsApplication20
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'ds.monitor' table. You can move, or remove it, as needed.
            this.monitorTableAdapter.Fill(this.ds.monitor);
 
        }
 
        private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs anError)
        {
            anError.ThrowException = false;
            MessageBox.Show("error");
        }
        }
}
Миниатюры
Добавить запись в БД Access  
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
07.05.2014, 15:53
23 строчку сделай последней.
0
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
07.05.2014, 16:55  [ТС]
Вот так?
C#
1
2
3
4
5
void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs anError)
        {
            MessageBox.Show("error");
            anError.ThrowException = false;
        }
Уже пробовал, ничего не меняется.
0
 Аватар для Бедел
235 / 31 / 11
Регистрация: 04.06.2010
Сообщений: 293
08.05.2014, 02:23
Boson, тоже как только не извращался.. Никак не получается. Всё равно всплывает окно с ошибкой на полэкрана ! Если удастся решить проблему, обязательно оповестите Будем бороться вместе)

Добавлено через 8 часов 34 минуты
Boson, разобрался-таки.. Прошу в мою тему, описал решение проблемы)
https://www.cyberforum.ru/ado-... ost6142701
1
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
08.05.2014, 15:48  [ТС]
Бедел, спасибо большое. Теперь вместо окна на пол-экрана появляется MessageBox. То что нужно было.
0
0 / 0 / 2
Регистрация: 09.01.2014
Сообщений: 36
26.06.2015, 20:54
БД access.

Если вести изменения в БД кнопками. Записать, удалить, добавить и т.д. все работает. DataGridView обновляется, ошибок нет.

Но как только я кидаю добавление в БД через поток ( мониторю Serial port), появляется исключение в момент когда

очищаю DataSet командой
C#
1
2
3
DataSet ds;
 
ds.Clear();
и тут же его заполняю из БД
C#
1
2
3
4
5
6
7
 Fillds();
 
 
 public void Fillds()
 {         
        ds = conDB.GetDBData();
 }
При этом если тут же кнопкой обновить, запись в БД появляется.

Подскажите что за исключение.



https://img-fotki.yandex.ru/ge... 32a000_X5L
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.06.2015, 20:54

Добавить запись в access(за небольшое вознаграждение)
Очень нужна помощь. Суть вопроса такова....есть программа в MFC C++. Программа связана с БД access. Программа рабочая, но необходимо...

Как добавить запись в Access в процессе программирования?
Нужно, чтобы при нажатии на кнопку добавлялась новая запись в таблицу и присваивались некие значения её полям. Как это сделать? Год назад...

Access Violation при попытке добавить запись в DBMemo
Всем доброго времени суток. Подключён к БД через компоненты, ADOConnection+AdoDataSet+DataSource+DbGrid и ещё DBMemo для отображения поле...

Recordset is not open при попытке добавить запись в Access
Всем доброго времени суток.Имею связку подключения adoconnection+adodataset+adocommand. При попытке вставить новую запись получаю вот такую...

Как в Visual Basic 6 добавить запись в существующую таблицу MS Access ?
Здравствуйте ! Мне необходимо решить следующую задачу: допустим существует таблица MS Access 2003 c двумя напр. полями Field1 и Field2....


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть не большие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru