Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
XIST
1125 / 837 / 116
Регистрация: 01.10.2009
Сообщений: 2,544
Записей в блоге: 1
1

Запрос к связанным таблицам (Access), через Datatable с выводом в два Combobox

13.12.2013, 12:34. Просмотров 847. Ответов 8
Метки нет (Все метки)

Всем доброго. Помогите кто с проблемкой, есть две связанные таблицы
Statiy
ID-ключ
Name - string
Statiy
ID-integer
Name - string
связанны по ID
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
Dim comand_for_statiy As New OleDb.OleDbCommand("SELECT Statiy.Id AS Statiy_Id, Statiy.Name AS Statiy_Name, Podstatiy.Id AS Podstatiy_Id, Podstatiy.Name AS Podstatiy_Name, Podstatiy.Id FROM Podstatiy INNER JOIN Statiy ON Podstatiy.Id = statiy.Id;", Form1.AccCon)
 
            Dim adapter_for_statiy As New OleDb.OleDbDataAdapter(comand_for_statiy)
            Dim DT As New DataTable
 
            adapter_for_statiy.Fill(DT)
 
            ComboBox1.DataSource = DT
            ComboBox1.ValueMember = "Statiy_Name"
 
            ComboBox3.DataSource = DT
            ComboBox3.ValueMember = "podstatiy_name"
но в двух Combo выводятся все данные, хотя и связанные, т.е. меняя первый комбо, значение второго меняется, но все же не то, они выведены все, где проблема то

Добавлено через 16 часов 55 минут
Ошибочка вторая таблица podstatiy, но все же, как их распихнуть то по двум комбо отдельно, запрос то верный��
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2013, 12:34
Ответы с готовыми решениями:

Вывод данных по связанным таблицам
Здравствуйте форумчане. Вопрос такой: Есть 5 таблиц в базе данных связанных между собой....

Запрос к связанным таблицам
Здравствуйте. Ситуация: Есть 2 связанные таблицы при запросе (SELECT * FROM tovar)...

Запрос к связанным таблицам
Здравствуйте! Есть таблица в каждой строке которой хранятся алармы (время, тип, состояние и т.д.),...

Запрос к связанным таблицам
Всем добрый день. Имеются 2 таблицы следующей структуры: 1. Отделы -------------------- |...

Запрос к связанным таблицам
Задание: Вывести ФИО преподавателей, которые преподают у групп с номером > 200 и предмет, который...

8
wm_leviathan
198 / 199 / 70
Регистрация: 12.01.2011
Сообщений: 699
Завершенные тесты: 2
13.12.2013, 14:16 2
а как вам надо? к примеру

statiy
1 хлебные изделия
2 кондитерские изделия
podstaiy
1 хлеб
1 батон
1 булка
2 печенье
2 конфеты
2 пироженое
и при выборе в первом комбобоксе к примеру "хлебные изделия" во втором должно быть отображено "хлеб","батон","булка". а при выборе к примеру "кондитерские изделия" во втором должно быть "печенье", "конфеты", "пироженое". Так должно быть ? или я не так понял ?
0
XIST
1125 / 837 / 116
Регистрация: 01.10.2009
Сообщений: 2,544
Записей в блоге: 1
13.12.2013, 14:41  [ТС] 3
Да все правильно, смысл этих действий такой
0
wm_leviathan
198 / 199 / 70
Регистрация: 12.01.2011
Сообщений: 699
Завершенные тесты: 2
13.12.2013, 15:20 4
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        public void LoadCombo(string sqlQueryString, ComboBox comboControl, string cbColName)
        {
            string connectionString = "Persist Security Info=False;User ID=sa; Password=749563; Initial Catalog=pubs; Data Source=192.168.0.10\\ESRN2";
            using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connectionString))
            {
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                comboControl.DataSource = table;
                comboControl.DisplayMember = table.Columns[cbColName].ColumnName;
            }
 
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            string strSql = "select name from statiy";
            LoadCombo(strSql, comboBox1, "name");
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string strSql = "declare @StID int; " +
                            "set @StID = (select s.id from pubs.dbo.statiy as s where s.Name = '" + comboBox1.Text + "') " +
                            "select p.Name from pubs.dbo.podstatiy as p " +
                            "where @StID = p.ID"; 
            LoadCombo(strSql, comboBox2, "name");
        }
    }
}
Добавлено через 1 минуту
Цитата Сообщение от DM_AND Посмотреть сообщение
запрос то верный
ничего не вижу в нем верного
0
XIST
1125 / 837 / 116
Регистрация: 01.10.2009
Сообщений: 2,544
Записей в блоге: 1
13.12.2013, 15:33  [ТС] 5
wm_leviathan, Со всем уважением, так я и делаю, мне не нужно событие выбора комбо, я хочу запихнуть в дататэйбл все, что и сделал, таблицы связаны, но хочу узнать можно и как сделать это сразу запросом в дататэйбл на два комбо, они то связаны, только вот в первом комбо дублируются данные на основании того сколько строк во втором, во втором то же самое, а таким вариантом я делаю постоянно
0
wm_leviathan
198 / 199 / 70
Регистрация: 12.01.2011
Сообщений: 699
Завершенные тесты: 2
13.12.2013, 15:54 6
на сколько я знаю не получится так.
0
Grishaco
437 / 361 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
13.12.2013, 20:30 7
Создайте датасет, добавьте связи и при выборе в комбобоксе, выбирайте в качестве источника данных методом для второго комбобокса все связанные записи в подчиненной таблице.
0
XIST
1125 / 837 / 116
Регистрация: 01.10.2009
Сообщений: 2,544
Записей в блоге: 1
13.12.2013, 20:59  [ТС] 8
у меня 2-ой фреймворк
0
Grishaco
437 / 361 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
13.12.2013, 21:05 9
Цитата Сообщение от DM_AND Посмотреть сообщение
у меня 2-ой фреймворк
В нем это есть.
0
13.12.2013, 21:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2013, 21:05

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

SQL-запрос по трем связанным таблицам
Еще вопросик по той же строке: А как выглядит SQL-строка, если у меня есть три связанные таблицы...

Как правильно составить запрос к связанным таблицам?
Здравствуйте. Я разрабатываю программу на Delphi 7 для работы с базой данных MS Access (2003) со...


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

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

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