[vb.net] Kilka zapytań sql do jednego datagridview

0

Witam
W programiku planuję wykonać kilka zapytań sql do różnych tabel. Niestety w wszystko w jednym zapytaniu wykrzacza się. Chcę zrobić trzy zapytania select i wynik tych zapytań przedstawić w jednym datagridview. W efekcie końcowym w datagridview kolumny 1-3 to wynik zapytania pierwszego, kolumny 4-6 drugiego itd. Z jednym zapytaniem tym samym jednym datatable radzę sobie bez problemu.

0

hej

To mozesz napisz te zapytanie tu ktore sie wykrzacz. Zerkniemy.
Jeżeli nie to pozostaje Ci stworzyć sobie tablice do której dodasz te wyniki też po jakim ID a potem wyświetlisz to datagridview.
Pozostaje jeszcze sposób aby zrobic select nr 1 -> wyświetlić to datagridview zrobic drugi select i dodać dane do datagridview też po jakis ID i na koniec 3 select i dodać wyniki do datagridview.

0

Sight a możesz rozwinąć sposób z selectami i dodawania do datagridview. Chodzi mi o jakiś przykładzik który mógłbym zastosować itd do swoich potrzeb. Będzie to łatwiejsze i bardziej przejrzyste niż jedno zapytanie sql. W założeniu jedno polecenie będzie odwoływało się do czterech tabel z wykorzystaniem m.in. poleceń sum, inner join, left join, not like itd. A tak rozbiję to na kilka selectów i będzie dobrze.

0

ok

To jeżeli chcesz to zrobi na kilka select'ów co z punktu optymalizacji nie jest ok.. to timer który co jakiś czas będzie sam wywoływał takie zadanie:
Pamiętaj żeby przed każdym taki select'em czyścic DataGridView1

Dim connectionString As String = "Data Source=IHOMISSERVER;Initial Catalog=homis;User ID=sa;Initial Catalog=pubs;Integrated Security=True"
Dim sql As String = "SELECT * FROM table_name"
Dim connection As New SqlConnection(connectionString)
Dim dataadapter As New SqlDataAdapter(sql, connection)
Dim ds As New DataSet()
connection.Open()
dataadapter.Fill(ds, "column_name")
connection.Close()
DataGridView1.DataSource = ds

Powyższy select załaduje Ci dane do obiektu DataGridView1. DataGridView1 może miec zdeklarowane więcej kolumn które mogą zostać uzupełnione przez kolejne select'y wiec nie używasz opcji autogenerowanie kolumn. Potem robisz sobie kolejnego select'a i za pomocą pętli for przeglądasz tabele DataGridView1 i zmieniasz lub dodajesz wyniki. Jeżeli chcesz dodać cyferkę z tabeli do tej co pobrałeś w drugim zapytaniu to musisz obie skonwertować do intiger'a. Troche będzie dłubania ale będzie działało.

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