Reklama
Pokazuje wyniki od 1 do 2 z 2

Temat: [C#]Baza Danych - łączenie tabel

  1. #1
    Avatar Dio Paladin
    Data rejestracji
    2007
    Wiek
    30
    Posty
    959
    Siła reputacji
    18

    Domyślny [C#]Baza Danych - łączenie tabel

    Cześć, mam problem z połączeniem baz danych w moim programie. Mam tabelę towar z kolumanami - |ID_Towaru | Marka | Model| i tabelę zamówienie z kolumnami - |ID_Zamowienia | ID_Towaru|. Po wybraniu danego towaru z tabeli Towar i kliknięciu buttona1 ID_Towaru przechodzi do tabeli Zamówienie. Teraz chcę aby po kliknięciu buttona2 w tabeli Zamówienie oprócz wcześniej przeniesionego ID_Towaru program brał Model i Markę z tabeli Towar za pomocą kwerendy INNER JOIN. Kod tego guzika wygląda tak:

    Kod :
    string numer = dataGridView2.Rows[dataGridView2.CurrentCell.RowIndex].Cells[0].Value.ToString();
                string łańcuchPołączenia = @"Provider=Microsoft.ACE.OLEDB.12.0;data source=F:\Sklep AGD\SklepAGD.accdb";
                OleDbConnection łączeOle = new OleDbConnection(łańcuchPołączenia);
                łączeOle.Open();
                DataSet zestawDanych = new DataSet();
                string kwerenda = @"SELECT ID_Zamowienia, Zamówienie.ID_Towaru, Towar.Model, Towar.Marka 
                        FROM Zamówienie INNER JOIN Towar ON [Zamówienie].ID_Towaru=Towar.ID_Towaru;";
                kwerenda = string.Format(kwerenda, numer);
                OleDbDataAdapter adapter = new OleDbDataAdapter(kwerenda, łączeOle);
                adapter.Fill(zestawDanych);
                łączeOle.Close();
                dataGridView1.DataSource = zestawDanych.Tables[0];
    Ale niestety coś jest nie tak bo cały czas mam tylko ID_Towaru wyświetlane w programie. Co ciekawe, sama kwerenda zdaje się działać po sprawdzeniu bezpośrednio w Accessie i oczywiście w szkole, przy profesorze to działało...
    Ostatnio zmieniony przez Dio Paladin : 28-12-2013, 14:07

  2. #2
    Avatar Dio Paladin
    Data rejestracji
    2007
    Wiek
    30
    Posty
    959
    Siła reputacji
    18

    Domyślny

    Ogarnąłem trochę kod i wygląda to teraz tak:

    Kod :
    private void OdświeżenieZawartościGridu(OleDbConnection łączeOle)
            {
                DataTable noweDaneTabeli = new DataTable();
                string kwerenda = "SELECT ID_Zamowienia, Zamowienia.NR_Towaru, Zamowienia.NR_Klienta, Towar.Rodzaj, Towar.Model, Towar.Marka FROM Zamowienia INNER JOIN Towar ON Zamowienia.NR_Towaru=Towar.ID_Towaru;";
                OleDbDataAdapter pośrednikOle = new OleDbDataAdapter(kwerenda, łączeOle);
                pośrednikOle.Fill(noweDaneTabeli);
                dataGridViewZamowienia.DataSource = noweDaneTabeli;
            }
    Niestety nadal program pokazuje tylko ID_Zamowienia, NR_Towaru i NR_Klienta. Nie potrafię go zmusić aby wziął z dwóch innych tabel dane i je wyświetlił w trzeciej bez ich przenoszenia. Jakieś pomysły?

    Nawet łączenie tylko dwóch tabel nie działa - SELECT ID_Zamowienia, Zamowienia.NR_Towaru, Zamowienia.NR_Klienta, Towar.Rodzaj, Towar.Model, Towar.Marka FROM Zamowienia INNER JOIN Towar ON Zamowienia.NR_Towaru = Towar.ID_Towaru; - próba wyświetlania tych rzeczy za pomocą tej kwerendy kończy się na ID_Zamowienia, NR_Towaru i NR_Klienta.
    Ostatnio zmieniony przez Dio Paladin : 29-12-2013, 23:13

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Kopiowanie tabel z pdf
    Przez Vampirex w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 3
    Ostatni post: 05-01-2013, 15:52
  2. [8.70][DB] Problem z Bazą Danych XAMPP
    Przez komsa w dziale Strefa developerska
    Odpowiedzi: 4
    Ostatni post: 15-05-2012, 21:33
  3. [MS Access] baza danych, maly szpital
    Przez Robotnik w dziale Szkoła i nauka
    Odpowiedzi: 0
    Ostatni post: 25-01-2012, 18:43
  4. [Podstawy] Podstawy związane z bazą danych MySQL dla OpenTibii*
    Przez Killavus w dziale Artykuły developerskie
    Odpowiedzi: 24
    Ostatni post: 27-06-2009, 22:32

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •