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

Создание записи в нескольких таблицах через запрос

26.06.2022, 19:20. Показов 672. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Возник вопрос, можно ли через запрос в c# создать запись одновременно в двух таблицах. Например, есть таблица users и logpas, в таблице users хранятся данные о самом пользователе(ФИО, возраст, номер телефона), а в таблице logpas логин и пароль пользователя. И при нажатии на кнопку происходит запрос на добавление введенных данных в таблицы users и logpas. Сколько пробовал,ничего не получается. Помогите пожалуйста, заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.06.2022, 19:20
Ответы с готовыми решениями:

Выборка из нескольких таблиц и создание новой записи через Delphi
Здравствуйте! Имеется БД в MS Access, делаю для нее программу в Deplhi. Через DBGrid и ADOQuery выводится такой запрос: SELECT...

Удалить все дочернии записи в нескольких таблицах
Здравствуйте Подскажите как удалить все дочернии записи в нескольких таблицах SQL-запросом? Например, как удалить все записи стилей,...

Создание отчета по выделенной записи через запрос
Здравствуйте, помогите, пожалуйста, разобраться с БД. Есть БД "Кадры", которая содержит форму "Сотрудники". На форме размещены...

4
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
26.06.2022, 21:14
keldy, самое простое по очереди две команды создать и выполнить. Или что лучше отправить сразу два запроса через точку с запятой. Никаких проблем быть не должно. Если выложите свой код, то можно будет на примере показать.
0
0 / 0 / 0
Регистрация: 12.01.2022
Сообщений: 18
27.06.2022, 15:14  [ТС]
да,я пробовал так сделать,но тогда из-за этого в dataGridView появляется только записи из одной таблицы.
Вот код с запросом на создание записи в таблице client:
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
public static void AddClients(NewListClass NLC)
        {
 
            string sql = "INSERT INTO clients VALUES (NULL, @FIO, @age, @number)";
 
            MySqlConnection con = GetConnection();
 
            MySqlCommand connection = new MySqlCommand(sql,con);
 
            connection.CommandType = CommandType.Text;
            connection.Parameters.Add("@FIO", MySqlDbType.VarChar).Value = NLC.FIO;
            connection.Parameters.Add("@age", MySqlDbType.VarChar).Value = NLC.Age;
            connection.Parameters.Add("@number", MySqlDbType.Int64).Value = NLC.Number;
 
            try
            {
                connection.ExecuteNonQuery();
                MessageBox.Show("Запись успешно создана");
            }
            catch (Exception)
            {
                MessageBox.Show("Не удалось создать запись");
            }
            con.Close();
        }
А это код на создание записи в таблице logpasclient:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static void AddLogPasClients(NewListClassLogPasClient NLCLPC)
        {
            string sql = "INSERT INTO logpasclient VALUES (NULL, @login, @password)";
 
            MySqlConnection con = GetConnection();
 
            MySqlCommand connection = new MySqlCommand(sql, con);
 
            connection.CommandType = CommandType.Text;
            connection.Parameters.Add("@login", MySqlDbType.VarChar).Value = NLCLPC.Login;
            connection.Parameters.Add("@password", MySqlDbType.VarChar).Value = NLCLPC.Password;
 
            try
            {
                connection.ExecuteNonQuery();
            }
            catch (Exception)
            {
            }
            con.Close();
        }
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
27.06.2022, 16:44
keldy, INSERT это одно, DataGridView другое. Данные в БД заносятся?

Пара моментов по коду
1) Молчаливый перехват исключений плохая практика. Хотя бы логируйте их. И возвращайте false в случае ошибки.
2) Соединение лучше обернуть в using
3) В INSERTe я бы перечислил колонки чтобы не зависеть от порядка и количества колонок в таблице.
1
0 / 0 / 0
Регистрация: 12.01.2022
Сообщений: 18
27.06.2022, 22:01  [ТС]
да,данные заносятся. Ошибку исправил,теперь всё работает.Спасибо за советы,сейчас исправлю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2022, 22:01
Помогаю со студенческими работами здесь

Одновременное создание записи в двух таблицах БД
Нужна помощь. Нужно чтобы при одной отправке из формы запись шла в две таблицы (1 и 2), но это ерунда. нужно что бы при записи в таблицу...

Запрос на поиск записи из нескольких полей
Помогите пожалуйста я не программист, мне доступна только не сложная база. Есть такая задумка, основные информативные данные в...

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

При добавлении записи в таблицу появляются записи и в других таблицах
На 8 форме "Товар" если пытаюсь добавить запись (кнопки добавить->принять->сохранить), то вылазит ошибка с нарушением целостности данных,...

SQL запрос через ADOQuery из нескольких таблиц
Здравствуйте! В общем, проблема такая.. Нужно мне составить отчет, который содержит данные из нескольких таблиц. С этим проблем нет,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru