C# Form i pobieranie danych z dwóch baz fdb

0

Witajcie.
Jestem tu nowy. Potrzebuje Waszej pomocy.
Na studiach wykładowca zadał nam zadanie n zaliczenie, żeby w C# (Visual Studio) zrobić formularz, w którym wyświetlane jest w okienku połączone dwa pliki .fdb (baza firebird).
Mam dwie bazy: autorzy.fdb i ksiazki.fdb , w nich tabele o takich samych nazwach jak bazy.
w tabeli autorzy mam (id_autor, Imie, Nazwisko) , w tabeli książki mam (id, id_autor, tytul)
id_autor jest wspólne w dwóch tabelach.

Zrobiłem wyświetlanie zawartości tabel osobno, czyli w Formie za pomocą dataGridView po wywołaniu metody GetAutorzy lub GetKsiazki wyświetla mi zawartość tabeli.

using FirebirdSql.Data.FirebirdClient;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Windows.Forms;

.
.
.

            
public void GetAutorzy()
{
		 
		 
		 string confdb = (@"Server=localhost;User=sysdba;Password=masterkey;Database=C:\cw\autorzy.FDB");
            using (FbConnection conDataBase = new FbConnection(confdb))
            {

                try
                {
                 
                    FbDataAdapter fbda = new FbDataAdapter("SELECT * FROM autorzy", conDataBase);
                    DataSet fbds = new DataSet();
                    fbda.Fill(fbds, "table");

                    dataGridView1.DataSource = fbds;
                    dataGridView1.DataMember = "table";
                    
										
										
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
								
		}
	}

        
public void GetKsiazki()
{
		 
		 
		 string confdb = (@"Server=localhost;User=sysdba;Password=masterkey;Database=C:\cw\ksiazki.FDB");
            using (FbConnection conDataBase = new FbConnection(confdb))
            {

                try
                {
                 
                    FbDataAdapter fbda = new FbDataAdapter("SELECT * FROM ksiazki", conDataBase);
                    DataSet fbds = new DataSet();
                    fbda.Fill(fbds, "table");

                    dataGridView1.DataSource = fbds;
                    dataGridView1.DataMember = "table";
                    
										
										
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
								
						}
	}

Jak mogę zrobić, żeby połączyć te dwa pliki za pomocą c# i wyświetlić to w jednym dataGridView ?
Z góry dziękuję za pomoc i przepraszam, jeśli wyżej coś źle sformatowałem
Pozdrawiam Adam :)

0

Nie bardzo widzę gdzie jest problem.

Wyniki z każego zapytania dodajesz do osobnej listy -> Autorzy , Ksiezki.
Następie robisz join jak w sql: https://docs.microsoft.com/pl-pl/dotnet/api/system.linq.enumerable.join?view=netcore-3.1
Autorzy.Join(Ksiazki) joinby authorid nowo powstały typ wrzucasz do datagridview.

Ewentualnie musisz zrobić złaczenie recznie za pomoca foreach/for

0

Nie no bez przesady... Kiedy pierwszy raz próbowałem coś takiego zrobić Google zalało mnie poradnikami i gotowymi przykładami. Wystarczy odpowiednio spytać wujka Google... Jak opanujesz tą umiejętność świat będzie Twój 😁

1

A ja zapytam te dwie bazy to twój pomysł czy wykładowcy? Bo jest mocno patologiczny.

0
Grzegorz Świdwa napisał(a):

Nie no bez przesady... Kiedy pierwszy raz próbowałem coś takiego zrobić Google zalało mnie poradnikami i gotowymi przykładami. Wystarczy odpowiednio spytać wujka Google... Jak opanujesz tą umiejętność świat będzie Twój 😁

Szukałem odnośnie fdb.
Kolega Teo215 już mnie nakierował. :)

Grzegorz Świdwa - podaj proszę kilka stron, na których to rozwiązanie jest (skoro umiesz odpowiednio spytać wujka Google)
Tak na marginesie, Twoja wypowiedź wyżej nie wnosi nic konstruktywnego, poza tym, że nabija Tobie ilość postów na tej grupie.

:P

0

teo215 jeszcze nie. Z programowania jestem noga. Próbuje wczytać zawartość FDB do listy, ale mi nie wychodzi. :(

0

Hej

ladujesz wszystko to tablicy fbds a potem petlą foreach podajesz dane z drugiej bazy i tak budujesz nowa tabelę która potem wyświetlasz w dataGridView1

1 użytkowników online, w tym zalogowanych: 0, gości: 1