Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 2
Регистрация: 02.01.2016
Сообщений: 15

Запись в БД Access

02.01.2016, 17:11. Показов 1079. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Визуально данные в dataGridView записываются, но в базу данных не попадают. Делал по руководству с MSDN

делал так:
C#
1
2
3
4
5
6
7
8
dev_servicesDataSet.ServicesRow NewRow = dev_servicesDataSet.Services.NewServicesRow();
NewRow.ServiceCode = textBox1.Text;
NewRow.ServiceMnemo = Convert.ToInt32(services_MnemoTableAdapter.SelectMcode(comboBox1.Text));
NewRow.ServiceName = textBox2.Text;                    
NewRow.ServicePrice = textBox4.Text;                   
NewRow.ServiceDesc = textBox3.Text;                   
dev_servicesDataSet.Services.AddServicesRow(NewRow);                    
servicesTableAdapter.Update(dev_servicesDataSet.Services);
и так:
C#
1
2
3
4
servicesTableAdapter.Connection.Open();
servicesTableAdapter.Insert(textBox1.Text, textBox2.Text, Convert.ToString(services_MnemoTableAdapter.SelectMcode(comboBox1.Text)), textBox4.Text, textBox3.Text);
servicesTableAdapter.Update(dev_servicesDataSet.Services);
servicesTableAdapter.Connection.Close();
данные физически в БД не попадают. Подскажите пожалуйста!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.01.2016, 17:11
Ответы с готовыми решениями:

Код обработки событий на нажатие кнопок "Добавить запись в БД" и "Найти запись" в Access
Уважаемые программеры. Я - лузер. Очень нужна ваша помощь! Иначе пропаду. Помогите написать код обработки событий на нажатие кнопок...

Запись в бд access
Здрасте)))Вопрос следующего характера - в проге есть две формы, на первой расположено н-ое количество кнопок и два textBox'а а на вторую...

Запись в access
Здравствуйте! вводятся данные из textbox, при нажатии на кнопку, записываются в access. Но проблема в том, что каждая новая запись вводится...

7
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
02.01.2016, 19:52
Цитата Сообщение от saddamnv Посмотреть сообщение
Подскажите пожалуйста!
В этой теме есть пример
0
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
03.01.2016, 14:33
Для сохранения данных нужно связать таблицу accdb с dataGridView1

1. Создается база данных xxx.accdb с ее таблицей Tab1, после создания начинаем связывание с C#.
Рекомендуется в таблице заполнить 1 - 2 строки.
2. Папка " Данные" ; Кликнуть "Новый источние данных" ; новое окно "Выбор типа источника данных" Пометить "База данных" ; Далее ;
новое окно "Выбор подключения базы данных" ; "Создать подключение" ; новое окно ; "Указать имя базы данных". Использовать Обзор для нахождения нужной базы данных.
3. После установки БД; "Проверка подключения" . Если все правильно, появится надпись "Проверка подключения выполена" ; Далее ;
новое окно "Выбор объектов базы данных" ; Нужно установить биты против таблицы1 и всех ее полей ; Готово.
4. ToolBox ; DataSet ; новое окно ; Выбрать "Типизированный набор данных"; OK.
5. ToolBox ; Binding Navigator ; Установить свойство public вместо private.
6. ToolBox ; dataGridView1 ; Свойство ; DataSourse ; Нвое окно ; "Добавить источник данных проекта" ; снова откроется окно
"Выбор типа источника данных" и повторить предыдущие операции. Если все выполнено правильно, то в Form1_Load появится строка
this.tab1TableAdapter.Fill(this.xxxDataS et11.Tab1); // xxx - имя базы данных без расширения.
В dataGridView1 появятся все поля и записи таблицы1 базы данных.

Если все получится тогда


C#
1
2
3
4
5
6
7
8
9
10
Forms Code
{
       private void button1_Click(object sender, EventArgs e)
       {
         tab1TableAdapter.Update(this.xxxDataSet11.Tab1);
           path = @"C:\Users\admin\Documents\xxx.accdb";
            MessageBox.Show("Новая запись добавлена");
 
       }
}
0
1 / 1 / 2
Регистрация: 02.01.2016
Сообщений: 15
05.01.2016, 16:47  [ТС]
Я переделал вот так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
OleDbConnection connection = new OleDbConnection(servicesTableAdapter.Connection.ConnectionString);
OleDbCommand InsertOleDb = new OleDbCommand("INSERT INTO Services (ServiceCode, ServiceName, ServiceMnemo, ServicePrice, ServiceDesc) VALUES (?,?,?,?,?)");                    
OleDbParameter[] param;                    
param = new OleDbParameter[5];                    
param[0] = new OleDbParameter();                    
param[0].Value = textBox1.Text;
InsertOleDb.Parameters.Add(param[0]);
param[1] = new OleDbParameter();                    
param[1].Value = textBox2.Text;
InsertOleDb.Parameters.Add(param[1]);
param[2] = new OleDbParameter();                    
param[2].Value = Convert.ToInt32(services_MnemoTableAdapter.SelectMcode(comboBox1.Text));
InsertOleDb.Parameters.Add(param[2]);
param[3] = new OleDbParameter();                 
param[3].Value = Convert.ToInt32(textBox4.Text);
InsertOleDb.Parameters.Add(param[3]);
param[4] = new OleDbParameter();                    
param[4].Value = textBox3.Text;
InsertOleDb.Parameters.Add(param[4]);
InsertOleDb.Connection = connection;
InsertOleDb.Connection.Open();
InsertOleDb.ExecuteNonQuery(); 
InsertOleDb.Connection.Close();
и результат тот же - в datagrid запись есть, в БД нет.
0
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
05.01.2016, 18:46
Кому адресован ответ?
Могу только сказать, что код, который я прислал, проверен ранее уже на нескольких программах и все работает нормально
0
1 / 1 / 2
Регистрация: 02.01.2016
Сообщений: 15
05.01.2016, 18:48  [ТС]
у меня таким способом тоже не работает.
Он мне не подходит. Я в базу записываю через textbox'ы
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
05.01.2016, 19:22
Цитата Сообщение от saddamnv Посмотреть сообщение
у меня таким способом тоже не работает.
saddamnv, поиском поищите в этой ветке форума, тут примеров навалом. Буквально недавно кому-то делал именно на Аксовской базе.
0
1 / 1 / 2
Регистрация: 02.01.2016
Сообщений: 15
06.01.2016, 10:55  [ТС]
Проблема решилась.
По умолчанию в ConnectionString путь у компонентов устанавливается [DataDirectory]\\dbname....
но сама переменная окружения почему то не устанавливается. Вручную установить
C#
1
AppDomain.CurrentDomain.SetData("DataDirectory",  Environment.CurrentDirectory);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.01.2016, 10:55
Помогаю со студенческими работами здесь

Запись результатов в бд access
Сделал вывод результатов теста в txt файл. Надо переделать что бы в таблицу accesss заполнял и не получается как то. БД через ADO...

Запись переменных в БД Access
Добрый день! Данные в БД записываю: Form11.AddTotalOrder.SQL.Clear; Form11.AddTotalOrder.SQL.Add('INSERT INTO Order (Data,...

Удалить запись из БД Access
Доброго времени суток. Пишу небольшую прожку, нужно удалить определенною запись из таблицы. Я это почти написал, но столкнулся с проблемой...

Не производится запись в бд access с#
Здравствуйте. Помогите, плз! Необходимо изменить данные в бд Access Не работает следующий код: SettingsWindow settingsWindow...

Ссылка на запись Access
Добрый вечер, уважаемые форумчане. Помогите, пожалуйста, дилетанту. Я создала простую базу, которая будет содержать данные...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru