Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 24.06.2015
Сообщений: 26
1

Как добавить данные в связанные таблицы ADO.NET

10.12.2015, 20:30. Показов 1392. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ни где не могу найти конкретную инфу как добавлять данные в связанные таблицы.
У меня есть приложение Winforms. Данные добавляю через текстбоксы, информация выводится в гриды. Какой должен быть код ADO.NET для того что бы добавляя новую книгу, этот код искал бы автора в первой таблице и добавлял книгу с соответствующим AuthorId в таблицу Books. Если автора нет, то добавлял бы нового автора в таблицу Author, а далее добавлял запись в таблицу Books с соответствующим новому автору AuthorId . После этого результат должен отобразится в гридах, у каждой таблицы свой грид. Использую DataSet

Как по мне это должна быть часто встречаемая задача, но примеров нет!!! Или я их не смог найти.

Первая таблица
T-SQL
1
2
3
4
5
CREATE TABLE Author(
AuthorId int IDENTITY NOT NULL 
        PRIMARY KEY, 
Author nvarchar(25) NOT NULL,
);
Вторая таблица

T-SQL
1
2
3
4
5
6
7
8
9
10
CREATE TABLE Books(
 Id int IDENTITY NOT NULL 
        PRIMARY KEY, 
 AuthorId INT NOT NULL
 FOREIGN KEY REFERENCES Author(AuthorId)
 ON DELETE CASCADE
 ON UPDATE CASCADE ,
 Name nvarchar(25) NOT NULL,
 Year INT NOT NULL
)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2015, 20:30
Ответы с готовыми решениями:

Создание таблицы из ADO.NET
Здравствуйте. У меня такая проблема возникла. Создаю программно базу данных. После чего, создаю...

System.Data.DataSet. Две связанные таблицы, добавить строчку в одну из них
как построить такую вещь? например, хочу иметь две таблицы: отделы (название,...

Как из одного textbox добавить данные в разные таблицы?
всем привет как из одного текс бокса добавить информацию в разные таблицы вот код но он добавляет...

Связанные таблицы. Отображать во второй DGV данные, которые относятся к выбранной записи в первой
Есть два datagridview. Если в datagridview1 в свойствах указать таблицу из связанной базы, а в...

5
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 3
11.12.2015, 12:10 2
Собственно а в чем проблема? Так и не понял что у вас не получается?
Перед добавлением книги не можете выполнить селект в таблицу авторов что бы получить айдишник?
При отсутсствии требуемого автора выполнить инсерт...
0
0 / 0 / 0
Регистрация: 24.06.2015
Сообщений: 26
11.12.2015, 19:24  [ТС] 3
Да эти два действия
0
0 / 0 / 0
Регистрация: 01.05.2017
Сообщений: 7
06.05.2017, 20:15 4
DenisVV, если ответ еще актуален:
встретилась с подобной проблемой. Нужно было из приложения передавать данные в БД.
Решала так:
1. Сначала запускала хранимую процедуру для добавления записи в таблицу, для которой id по которому осуществляется связь, является первичным ключом. При этом хранимая процедура возвращает значение id.
2. Затем запускала хранимую процедуру для добавления записи в таблицу, в которой id не является первичным ключом, куда передавала значение id из 1 шага.

возможно, можно еще что-то с триггерами придумать... Но я пока не разобралась с этим
0
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
07.05.2017, 01:21 5
осталась самая малость, добавить сюда код самой хранимки(созданой в c#), код ее вызова, код хранимки(созданой в c#) для добавления и код, уже ее, вызова...
profit
0
0 / 0 / 0
Регистрация: 01.05.2017
Сообщений: 7
07.05.2017, 12:01 6
Diamante, Мой пример довольно запутанный. Вот здесь https://metanit.com/sharp/adonet/2.12.php подробно описано как вызывать хранимую процедуру из приложения и как получать из нее возвращаемые параметры. Нужно лишь создать две процедуры, где выходной параметр первой является входящим для второй процедуры, и запускать их по очереди.
0
07.05.2017, 12:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2017, 12:01
Помогаю со студенческими работами здесь

Удаленный SQL-сервер Ado.Net + .Net remoting + Asp .Net
Всем привет! Нужно написать клиент-серверное приложение на основе Microsoft Sql Server 2005...

Как работать с ADO.NET?
Visual Studio 2013 Premium, в вкладке C# нет раздела Database / Data. Не могу найти шаблоны с...

Как правильно построить связанные таблицы SQLite в C#?
Требуется построить связанные таблицы таким образом, чтобы поле supplierProductID было ссылкой на...

Как сделать INSERT запрос в связанные таблицы
Вот есть у меня, например, Таблица1 с полями "Код" и "Имя" и Таблица2 с полями "Код" и "Фамилия"....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru