Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
Mermaid
0 / 0 / 0
Регистрация: 22.12.2013
Сообщений: 9
1

Добавление записи в базу данных Access

26.11.2014, 14:50. Просмотров 3546. Ответов 15
Метки нет (Все метки)

База данных-Access. Необходимо добавить запись в базу Clients(открывается по щелчку по кнопке Clients), желательно через TextBox(можно находящихся на другой форме). Запись добавляется по щелчку по кнопке BindingNavigator toolStripButton1. Пыталась делать через Update.

Добавлено через 23 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'sport_clubDataSet.Абонементы' table. You can move, or remove it, as needed.
            this.абонементыTableAdapter.Fill(this.sport_clubDataSet.Абонементы);
            // TODO: This line of code loads data into the 'sport_clubDataSet.Учет' table. You can move, or remove it, as needed.
            this.учетTableAdapter.Fill(this.sport_clubDataSet.Учет);
            // TODO: This line of code loads data into the 'sport_clubDataSet.Абонементы' table. You can move, or remove it, as needed.
            this.абонементыTableAdapter.Fill(this.sport_clubDataSet.Абонементы);
            // TODO: This line of code loads data into the 'sport_clubDataSet.Клиенты' table. You can move, or remove it, as needed.
            this.клиентыTableAdapter.Fill(this.sport_clubDataSet.Клиенты);
 
        }
 
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
           
            клиентыTableAdapter.Update(sport_clubDataSet);
            
            абонементыTableAdapter.Update(sport_clubDataSet);
          
            учетTableAdapter.Update(sport_clubDataSet); 
        }
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 14:50
Ответы с готовыми решениями:

Добавление записи в базу данных
такой вопрос, как додавить новую запись в базу данных с второй формы?? даные вводятся в textbox!...

Добавление записи в базу данных mysql
Всем привет. Мне нужно объединить 3 таблицы, я их объединила. Вот моя проблема у меня не получается...

Добавление записи в базу данных MSSQL
Добрый вечер, возникла проблема при добавлении записи в БД. У меня есть две переменные Ball и...

Добавление записи из Datagridview в базу данных mysql
Друзья, хочу добавить данные с датагрида в базу данных но выдает ошибку ссылка на объект не...

Как сделать обновление, удаление, добавление в базу данных Access
Имеется подключённая база данных. подключал её через dataGridView1. Также на форме имеются 3 кнопки...

15
Linnk
1 / 1 / 1
Регистрация: 27.09.2007
Сообщений: 12
27.11.2014, 15:57 2
Лучший ответ Сообщение было отмечено Mermaid как решение

Решение

Примерно так:


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void toolStripButton1_Click(object sender, EventArgs e)
        {
           
            
                private OleDbConnection connection = new OleDbConnection();
 
                connection.Open();
                OleDbCommand command = new OleDbCommand();
                command.Connection = connection;
                command.CommandText = "insert into <Имя таблици> (Имя поля1, Имя поля2) values ('" + textBox1.Text + "','" + textBox2.Text + "')";
 
                command.ExecuteNonQuery();
                connection.Close();
 
 
        }
И не забудьте подключить пространство имен System.Data.OleDb!
1
Ridid
0 / 0 / 0
Регистрация: 24.11.2014
Сообщений: 18
04.12.2014, 19:58 3
здравствуйте, у меня подчёркивает:
C#
1
private OleDbConnection
в чём может быть проблема?
ПС: это вводится на дочерней форме, база находится на главной и подключена к datagridview
0
Mermaid
0 / 0 / 0
Регистрация: 22.12.2013
Сообщений: 9
04.12.2014, 20:39  [ТС] 4
C#
1
private OleDbConnection connection = new OleDbConnection();
попробуй так прописать в public partial class формы
и не забудь using System.Data.OleDb
0
kodv
1425 / 1098 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
05.12.2014, 05:36 5
Ridid, в вашем файле присутствует следующая строка?
C#
1
using System.Data.OleDb;
Если нет, то нужно либо ее добавить, либо писать:
C#
1
private System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection();
0
Ridid
0 / 0 / 0
Регистрация: 24.11.2014
Сообщений: 18
05.12.2014, 08:18 6
C#
1
using System.Data.OleDb;
прописано, не понимаю в чём проблема
0
kodv
1425 / 1098 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
05.12.2014, 09:13 7
Ridid, Так то, если что то подчеркивается, то причина этого пишется в окне ошибок. Достаточно это прочитать и исправить. Если не можете понятЬ, что там написано, то копипастите текст сюда. Кто-нибудь да скажет, в чем дело.
0
Ridid
0 / 0 / 0
Регистрация: 24.11.2014
Сообщений: 18
20.12.2014, 16:21 8
C#
1
2
3
4
5
6
7
Подключение.Open();
            OleDbCommand command = new OleDbCommand();
            command.Connection = Подключение;
            command.CommandText = "insert into <HContacts> (дата, Время, Место, Пол участников, Вид соревнования, Страна победителя, Имя победителя, Итоговое время победителя) values ('" + dateTimePicker1.Value.ToShortDateString() + "','" + textBox1.Text + "','" + comboBox1.Text + "','" + comboBox2.Text + "','" + comboBox3.Text + "','" + comboBox4.Text + "','" + textBox6.Text + "','" + textBox7.Text + "')";
 
         command.ExecuteNonQuery();
         Подключение.Close();
у меня вот такой код, при нажатии на кнопку на этой строчке пишет ошибка синтаксиса insetrt into, помогите исправить уже не 1 неделю мучаюсь

Добавлено через 19 минут
на строчке command.ExecuteNonQuery();
0
kodv
1425 / 1098 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
20.12.2014, 17:55 9
Ridid, названия столбцов и таблиц в SQL не должны содержать запрещенные символы, такие, как знаки <, >, пробел и другие.
0
Ridid
0 / 0 / 0
Регистрация: 24.11.2014
Сообщений: 18
20.12.2014, 17:58 10
C#
1
2
3
4
5
6
7
 Подключение.Open();
      var Команда = new OleDbCommand("INSERT INTO [HContacts] (дата,Время,Место,Получастников,Вид соревнования,Странапобедителя,Имяпобедителя,Итоговое время победителя)" +
         "VALUES('" + dateTimePicker1.Value.ToShortDateString() + "','" + textBox1.Text+ "','" + comboBox1.Text + "','" + comboBox2.Text + "','" + comboBox3.Text + "','" + comboBox4.Text + "','" + textBox6.Text + "','" + textBox7.Text + ")");
       Команда.Connection = Подключение;
     Команда.ExecuteNonQuery();
       Подключение.Close();
        MessageBox.Show("Запись добавлена");
вот немного по другому но исправлены пробелы и скобочки, вы это имели ввиду?
0
kodv
1425 / 1098 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
20.12.2014, 18:12 11
Ridid, Я имел ввиду, что нужно соблюдать синтаксис языка, на котором вы пишите. Если SQL воспринимает два слова, разделенных пробелом, как два идентификатора, то наивно ожидать, что конкретно в вашем случае будет иначе. Если вы планируете использовать SQL в своих программах, то прочитайте хотя бы про основы этого языка.
0
Ridid
0 / 0 / 0
Регистрация: 24.11.2014
Сообщений: 18
20.12.2014, 18:19 12
я только учусь, извините), а вот если это будет написано через OleDb в таком виде
C#
1
2
3
4
5
6
7
 Подключение.Open();
            var Команда = new OleDbCommand("INSERT INTO [HContacts] (дата,Время,Место,Пол,Вид,Страна,Имя,Итоговое)" +
               "VALUES('" + dateTimePicker1.Value.ToShortDateString() + "','" + textBox1.Text + "','" + comboBox1.Text + "','" + comboBox2.Text + "','" + comboBox3.Text + "','" + comboBox4.Text + "','" + textBox2.Text + "','" + textBox3.Text + ")");
            Команда.Connection = Подключение;
            Команда.ExecuteNonQuery();
            Подключение.Close();
            MessageBox.Show("Запись добавлена");
0
kodv
1425 / 1098 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
20.12.2014, 18:35 13
Ridid, вы будете в угадайку играть? Или все таки лучше взять учебник и почитать? Названия таблицы и столбцов обрамите в квадратные скобки, может поможет. Мне, если честно, сейчас с телефона не особо охота разбираться с кодом, который на три экрана в право прокручивать надо ...
1
Ridid
0 / 0 / 0
Регистрация: 24.11.2014
Сообщений: 18
20.12.2014, 18:44 14
да спасибо и на этом, подтолкнули в нужном направлении уже понял в чём была проблема, ещё раз спасибо))
0
yuran1174
3 / 3 / 2
Регистрация: 06.03.2015
Сообщений: 94
04.04.2016, 23:17 15
Цитата Сообщение от kodv Посмотреть сообщение
Я имел ввиду, что нужно соблюдать синтаксис языка
Подскажи пожалуйста, у меня аналогичная проблема, ругается на синтаксис, бьюсь уже неделю, вроде все верно
код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 private void button1_Click(object sender, EventArgs e)
        {
 
            try
            {
                connection.Open();
 
                OleDbCommand command = new OleDbCommand();
                command.Connection = connection;
                command.CommandText = "insert into client1 (work) values('" + textBox1.Text + "')";
 
                command.ExecuteNonQuery();
                MessageBox.Show("Успешно записано!");
                connection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("error  " + ex);
                connection.Close();
            }
        }

Скриншот
Добавление записи в базу данных Access
Добавление записи в базу данных Access
0
kodv
1425 / 1098 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
05.04.2016, 03:37 16
yuran1174, на первый взгляд запрос составлен верно. Предположения возникновения такой ошибки два:
1. В вашем текст-боксе содержатся спец. символы, допустим, одинарная кавычка.Лучше для передачи значений в запрос использовать параметры.
2. Синтаксис команды INSERT INTO подразумевает точку с запятой в конце. В большинстве случаев ее можно не писать, но некоторые провайдеры данных, возможно, и ваш в том числе, требуют ее явного наличия.
0
05.04.2016, 03:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2016, 03:37

Добавление записи в базу
Наткнулся на проблему с реализацией добавления записи в бд access через datagridview который...

Добавление новой записи в базу
Добрый вечер. Делаю добавление новой записи в таблицу базы. Проблема, как я понимаю, при вставке...

Очищения поля после добавление записи в базу
Здравствуйте, как очистить после добавления данных в базу? Вот код private void...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru