Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# и базы данных, ADO.NET

Войти
Регистрация
Восстановить пароль
 
 
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
#1

Как создать связь между двумя таблицами? - C#

23.05.2017, 20:31. Просмотров 1055. Ответов 44

Ребят кто может подкинуть код который работает с двумя базами Access для проекта WindowsForm. Например есть 2 таблицы (1 и 2) пунктами они одинаковые имя и количество и во 2ой таблице имя и количество. Надо что бы при вводе данных во 2ую таблицу, данные "количество" вычитались из данных первой. Например в 1ой таблице имя: арбуз количество: 10, в 2ую вводим имя: арубз , количество: 3 ..... после чего в 1ой таблице количество становиться: 7.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2017, 20:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как создать связь между двумя таблицами? (C#):

Можно ли установить связь между двумя таблицами двух БД на одном сервере? - C#
Есть два БД, можно ли установить связь между двумя таблицами этих бд?

Отобразить связь между таблицами - C#
Такой вопрос. Есть две таблицы БД созданные в mssql и связанные между собой. На форме соответственно для этих таблиц два datagridview. А...

Вывести связь между таблицами - C#
Всем доброго времени суток. Создал локальную бд (в файле рядом с программой), в ней создал 2 таблицы - "клиенты" и "автомобили", создал...

Отношение между двумя таблицами - C#
Привет всем. Есть две таблицы - Card и Pooshren. У Card есть первичный ключ(столбец itemperson). У pooshren есть столбец itemparent - это...

Програмно установить связь между таблицами SQLite - C#
Первая таблица: using (SQLiteCommand command = new SQLiteCommand(connection)) { command.CommandText =...

Организовать связь один-ко-многим между таблицами - C#
У меня есть три таблицы. Как правильно организовать связь один ко многим между ними? Правильно ли будет сделать это так как в вложении?

44
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
04.06.2017, 22:27  [ТС] #16
Цитата Сообщение от hoolygan Посмотреть сообщение
А почему об этом узнаем через 3 дня общения? Вы бы хоть рассказали-показали, что есть, как заполняются гриды, что есть в таблицах, может и подсказали бы тогда Вам что-то по делу. А так больше похоже на то, что есть пустота, и нужно сделать все с нуля за Вас. Но тогда это не тот раздел форума.
Хорошо скидываю, извините что сразу не скинул.
0
Вложения
Тип файла: zip TEST.zip (392.6 Кб, 1 просмотров)
Aferuga
311 / 314 / 128
Регистрация: 20.05.2015
Сообщений: 940
Завершенные тесты: 1
05.06.2017, 07:59 #17
Сразу вопрос на кой черт две базы? Если таблицы взаимосвязаны лучше использовать их в одной базе, если соотношение между таблицами один-к-одному то проще просто к таблице прикрутить ещё одно поле.
Уникальное поле в вашем случае с названием "код".
Запрос можно прописать в дизайнере 1DataSet правой на tablica1TableAdapter-> добавить запрос-> выбираем Update-> и в конце кнопка построитель запросов
SQL
1
2
3
UPDATE       tablica1
SET            Количество = Количество + ?
WHERE        (Код = ?)
появится новый запрос (по умолчанию UpdateQuery) заходим в его параметры(Parametrs) и меням DBType на INT32
Далее вызываем уже на самой форме в каком-нибудь методе:
C#
1
2
3
            
int val = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCellAddress.Y].Cells[0].Value.ToString());
            this.tablica1TableAdapter.UpdateQuery(-1,val);
З. Ы. не говорю что это лучший вариант, но как пример сойдет.
0
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 12:26  [ТС] #18
Цитата Сообщение от Aferuga Посмотреть сообщение
добавить запрос-> выбираем Update-> и в конце кнопка построитель запросов
Добавить запрос - ясно, но вот нет там выбора Update - вставляю ваш код выбивает ошибку
0
Миниатюры
Как создать связь между двумя таблицами?   Как создать связь между двумя таблицами?  
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 12:26  [ТС] #19
Что я не так делаю ?
0
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 16:05  [ТС] #20
Цитата Сообщение от Aferuga Посмотреть сообщение
Запрос можно прописать в дизайнере 1DataSet правой на tablica1TableAdapter-> добавить запрос-> выбираем Update-> и в конце кнопка построитель запросов
Не получается....
0
Миниатюры
Как создать связь между двумя таблицами?   Как создать связь между двумя таблицами?  
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 16:10  [ТС] #21
Вот так вот....
0
Миниатюры
Как создать связь между двумя таблицами?  
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 16:46  [ТС] #22
Цитата Сообщение от Aferuga Посмотреть сообщение
Сразу вопрос на кой черт две базы? Если таблицы взаимосвязаны лучше использовать их в одной базе, если соотношение между таблицами один-к-одному то проще просто к таблице прикрутить ещё одно поле.
Уникальное поле в вашем случае с названием "код".
Запрос можно прописать в дизайнере 1DataSet правой на tablica1TableAdapter-> добавить запрос-> выбираем Update-> и в конце кнопка построитель запросов
SQLВыделить код
1
2
3
UPDATE * * * tablica1
SET * * * * * *Количество = Количество + ?
WHERE * * * *(Код = ?)
появится новый запрос (по умолчанию UpdateQuery) заходим в его параметры(Parametrs) и меням DBType на INT32
Далее вызываем уже на самой форме в каком-нибудь методе:
C#Выделить код
1
2
3
int val = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCellAddress.Y].Cells[0].Value.ToString());
* * * * * * this.tablica1TableAdapter.UpdateQuery(-1,val);
З. Ы. не говорю что это лучший вариант, но как пример сойдет.
Все сделал как написано... В итоге что бы я не писал в "количество" во второй таблице в первой таблице уменьшается на 1 ))) Криво работает...
0
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 17:01  [ТС] #23
Цитата Сообщение от Итропинкаилесок Посмотреть сообщение
Сообщение от Aferuga
Сразу вопрос на кой черт две базы? Если таблицы взаимосвязаны лучше использовать их в одной базе, если соотношение между таблицами один-к-одному то проще просто к таблице прикрутить ещё одно поле.
Уникальное поле в вашем случае с названием "код".
Запрос можно прописать в дизайнере 1DataSet правой на tablica1TableAdapter-> добавить запрос-> выбираем Update-> и в конце кнопка построитель запросов
SQLВыделить код
1
2
3
UPDATE * * * tablica1
SET * * * * * *Количество = Количество + ?
WHERE * * * *(Код = ?)
появится новый запрос (по умолчанию UpdateQuery) заходим в его параметры(Parametrs) и меням DBType на INT32
Далее вызываем уже на самой форме в каком-нибудь методе:
C#Выделить код
1
2
3
int val = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCellAddress.Y].Cells[0].Value.ToString());
* * * * * * this.tablica1TableAdapter.UpdateQuery(-1,val);
З. Ы. не говорю что это лучший вариант, но как пример сойдет.
Все сделал как написано... В итоге что бы я не писал в "количество" во второй таблице в первой таблице уменьшается на 1 ))) Криво работает...
Еще раз все сделал по инструкции.... В итоге не работает.... Если во tablica2 менять значение то в tablica1 черти что твориться.... Вот посмотрите пжлста
0
Вложения
Тип файла: zip TEST.zip (404.7 Кб, 1 просмотров)
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 18:12  [ТС] #24
Цитата Сообщение от Usaga Посмотреть сообщение
Итропинкаилесок, нормально сформулируй вопрос и на него ответят.
Вы можете посмотреть приложение и указать где ошибка ?
0
Usaga
Эксперт .NET
3413 / 2864 / 502
Регистрация: 21.01.2016
Сообщений: 11,292
Завершенные тесты: 2
05.06.2017, 18:15 #25
Итропинкаилесок, что именно там неправильно работает?
0
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 18:29  [ТС] #26
Цитата Сообщение от Usaga Посмотреть сообщение
Итропинкаилесок, что именно там неправильно работает?
Мне написали инструкцию... я все сделал.... но в итоге вместо того что бы при изменении tablca2 менялась tablica1 ничего не происходит... если менять "количество" в tablica2 то в tablica1 значение меняется но не правильно! А когда я просто пытаюсь изменить значение в tablica1 то при закрытии выбивает ошибку. Посмотрите пжлста у себя на компьютере так будет гораздо быстрее... это не займет много времени.. приложении простейшее думаю для вас умелых.
0
Usaga
Эксперт .NET
3413 / 2864 / 502
Регистрация: 21.01.2016
Сообщений: 11,292
Завершенные тесты: 2
05.06.2017, 18:47 #27
Итропинкаилесок, я не знаю, что вы пытались делать и в каком были состоянии, когда это делали, но у вас adapter1 пытается сохранить данные в таблицу2, которая физически находится в другой базе данных.
0
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 19:22  [ТС] #28
Цитата Сообщение от Usaga Посмотреть сообщение
Итропинкаилесок, я не знаю, что вы пытались делать и в каком были состоянии, когда это делали, но у вас adapter1 пытается сохранить данные в таблицу2, которая физически находится в другой базе данных.
А это не возможно ? Мне это решение скинули ранее...
0
Usaga
Эксперт .NET
3413 / 2864 / 502
Регистрация: 21.01.2016
Сообщений: 11,292
Завершенные тесты: 2
05.06.2017, 19:30 #29
Итропинкаилесок, таким образом это не сделать. Нужно данные вытащить в память и уже другим запросом передать в нужную таблицу в нужной БД.

Вы лучше словами объясните что и зачем хотите сделать. Представленный вами проект выглядит как полный бред: две идентичные таблицы в разных базах...
0
Итропинкаилесок
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 155
05.06.2017, 19:53  [ТС] #30
Цитата Сообщение от Usaga Посмотреть сообщение
Итропинкаилесок, таким образом это не сделать. Нужно данные вытащить в память и уже другим запросом передать в нужную таблицу в нужной БД.
Вы лучше словами объясните что и зачем хотите сделать. Представленный вами проект выглядит как полный бред: две идентичные таблицы в разных базах...
Все что я хочу это что бы при изменении значения "количество" во второй таблице менялось "количество" в первой таблице.... Можно и в одном БД сделать обе таблицы... я не против
0
05.06.2017, 19:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2017, 19:53
Привет! Вот еще темы с ответами:

DataGridView и Access 2013 сложная связь между таблицами - C#
Добрый день подскажите пожалуйста. Как сделать в DataGridView в строке ComboBox вывод из таблицы связаных между 3-мя через DGV надо...

Связь между двумя DataTable - C#
Можно ли связать 2 DataTable для отображения иерархии. 1 DataTable содежит ID NAME 2-й DataTable содежит ID IDPARENT(Ссылка...

Ошибка: не удалось определить связь между двумя объектами, поскольку они привязаны к разным объектам ObjectContext - C#
При вызове этого метода выдает ошибку не удалось определить связь между двумя объектами, поскольку они привязаны к разным объектам...

Как управлять двумя таблицами одним bindingNavigator - C#
Можно ли с помощью одного bindingNavigator управлять двумя связанными по номеру таблицами? Если можно, как это реализовать?


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

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

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