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

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

20.05.2013, 20:52. Просмотров 6740. Ответов 1
Метки нет (Все метки)

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

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            string z1 = textBox1.Text;
            string z2 = dateTimePicker1.Text;
            string z3 = dateTimePicker2.Text;
            string z4 = textBox4.Text;
            string z5 = textBox5.Text;
            const string Connect = "Database=kurs;Data Source=localhost;User Id=root;Password=1";
            MySqlConnection con = new MySqlConnection(Connect);
            con.Open(); //Устанавливаем соединение с базой данных.
            MySqlCommand cmd = new MySqlCommand();
 
            cmd.CommandText = (string.Format("INSERT  INTO srok_vidachi(ID,data_vidachi,data_vozvrata,nomer_student,nomer_kniga) VALUES('{0}','" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "','" + dateTimePicker2.Value.ToString("yyyy-MM-dd") + "',(select student.Nomer from student where FIO='{3}'),(select kniga.Nomer from kniga where kniga.nazvanie='{3}'))", z1, z2, z3, z4, z5));
            cmd.Connection = con;
            cmd.ExecuteNonQuery();
            MessageBox.Show("Добавление срока выдачи прошло успешно", "Добавление срока выдачи прошло успешно", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
 
            con.Close(); //Обязательно закрываем соединение!
Помогите пожалуйста кто знает, заранее спасибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2013, 20:52
Ответы с готовыми решениями:

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

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

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

Добавление записи в базу данных Access
База данных-Access. Необходимо добавить запись в базу Clients(открывается по щелчку по кнопке...

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

1
ImNIK
13 / 13 / 1
Регистрация: 21.05.2013
Сообщений: 61
21.05.2013, 14:16 2
1. Поставь distinct во вложенных запросах (select DISTINCT student.Nomer from student where FIO='{3}'). Ведь могут совпасть ФИО студентов и название книг - это уже должно помочь, но.
2. Код из-за инъекций в SQL почти не читаем.... передавай все значения через параметры!
3. Даже инъекция сделана через одно место, вначале string.format... затем строки плюсуются...

Добавлено через 1 час 13 минут
Как-то так в общем:
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
 
            string z1 = textBox1.Text;
            string z2 = dateTimePicker1.Text;
            string z3 = dateTimePicker2.Text;
            string z4 = textBox4.Text;
            string z5 = textBox5.Text;
            const string Connect = "Database=kurs;Data Source=localhost;User Id=root;Password=1";
           using (SqlConnection conn = new SqlConnection(Connect))
            {
                conn.Open(); //Устанавливаем соединение с базой данных.
                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = @"INSERT INTO srok_vidachi(ID,data_vidachi,data_vozvrata,nomer_student,nomer_kniga)
                                    VALUES(
                                           @ID, 
                                           @data_vidachi, 
                                           @data_vozvrata, 
                                           (select distinct student.Nomer from student where student.FIO=@FIO),
                                           (select distinct kniga.Nomer from kniga where kniga.nazvanie=@nazvanie)
                                           )";
                cmd.Parameters.Add("@ID", MySqlDbType.Int);
                cmd.Parameters["@ID"].Value = z1;
                cmd.Parameters.Add("@data_vidachi", MySqlDbType.DateTime);
                cmd.Parameters["@data_vidachi"].Value = z2;
                cmd.Parameters.Add("@data_vozvrata", MySqlDbType.DateTime);
                cmd.Parameters["@data_vozvrata"].Value = z3;
                cmd.Parameters.Add("@FIO", MySqlDbType.VarChar);
                cmd.Parameters["@FIO"].Value = z4;
                cmd.Parameters.Add("@nazvanie", MySqlDbType.VarChar);
                cmd.Parameters["@nazvanie"].Value = z5;
                cmd.ExecuteNonQuery();
                MessageBox.Show("Добавление срока выдачи прошло успешно", "Добавление срока выдачи прошло успешно", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                //  conn.Close(); при использовании using (SqlConnection conn... не обязательно  //Обязательно закрываем соединение!  
            }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2013, 14:16

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

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

Добавление данных видео, открытого из формы, в базу данных
Доброе время суток. Будьте добры подскажите, как сделать что бы в Visual Studio добавлялось видео,...


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

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

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