Každý formulár je napísaný takýmto spôsobom. Ten select zvyčajne ťahá okolo 50 000 riadkov čo si myslím nemal byť problém
Kód:
Private Sub Prehlad_analyz_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Cis_prodTableAdapter.Fill(Me.***DataSet.Cis_prod)
Me.Cis_podskupTableAdapter.Fill(Me.***DataSet.Cis_podskup)
Me.Cis_skupTableAdapter.Fill(Me.***DataSet.Cis_skup)
....
Nacitaj_analyzy()
END SUB
Private Sub Nacitaj_analyzy()
cmdText = "SELECT Analyzy.ID_ana, Analyzy.Vzorka, Analyzy.Nazov_ana, Analyzy.Hodnota, Analyzy.Zaciatok, Analyzy.Koniec, " _
& "FORMAT(Analyzy.Zaciatok,'yyyy-MM-dd') AS Datum_zaciatok, FORMAT(Analyzy.Koniec,'yyyy-MM-dd') AS Datum_koniec, " _
& "Analyzy.Analyzoval, Analyzy.Minimum_a, Analyzy.Maximum_a, Analyzy.Vymazana, Analyzy.Archiv, Analyzy.ID_uziv_ana, " _
& "Vzorky.Meno_vzorky, Vzorky.ID_cis_prod, Cis_prod.Nazov, Cis_prod.ID_podskup, Parameter.Nazov_param, Parameter.Jednotka, " _
& "(SELECT Priezvisko + ' ' + Meno FROM Uzivatelia WHERE (ID_uziv = Analyzoval)) AS Analyzoval_meno, " _
& "(SELECT ID_skup FROM Cis_podskup WHERE Cis_podskup.ID_podskup = Cis_prod.ID_podskup) AS skup " _
& "FROM Analyzy INNER JOIN Vzorky ON Analyzy.Vzorka = Vzorky.ID_vzorky " _
& "INNER JOIN Cis_ana ON Analyzy.Nazov_ana = Cis_ana.ID_cis_ana INNER JOIN Cis_prod ON Vzorky.ID_cis_prod = Cis_prod.ID_prod " _
& "AND Cis_ana.ID_prod = Cis_prod.ID_prod INNER JOIN Parameter ON Cis_ana.Param_ID = Parameter.ID_param " _
& "WHERE ((Analyzy.Archiv IS NULL OR Analyzy.Archiv = 0) AND (Analyzy.Vymazana IS NULL OR Analyzy.Vymazana = 0) AND Analyzoval IS NOT NULL) " _
& "ORDER BY Analyzy.Zaciatok DESC"
Try
dsAnalyzy = New DataSet()
bsAnalyzy = New BindingSource()
daAnalyzy = New SqlClient.SqlDataAdapter(cmdText, DBconn.DBCONN)
dsAnalyzy.Clear()
daAnalyzy.Fill(dsAnalyzy)
bsAnalyzy.DataSource = dsAnalyzy.Tables(0)
Me.dgAnalyzy.DataSource = bsAnalyzy
Sprav_filter()
bsAnalyzy.Filter = txtFilter
Me.dgAnalyzy.Refresh()
Catch ex As Exception
MessageBox.Show("Chyba načítania hodnôt ... ", "Chyba")
End Try
End Sub