Dvě připomínky bych měl :-). Nechápu důvod, proč načítate hodnoty v cyklu While. Pokud bude ve výstupu více záznamů, budou se zbytečně číst všechny a vždy přepíšou původní hodnoty. Druhá věc je pak pevné určení ID přímo v řetězci dotazu (nepoužíváte tu proměnnou ID). To bych přidal pomocí parametru. Z hlavy bych to viděl takto:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ID As String = 20001
Dim Jmeno As String
Dim KratkyPopis As String
Dim DlouhyPopis As String
Dim MOC As String
Dim Link As String
Dim Material As String
Dim HlavniObrazek As String
Dim Nahled1 As String
Dim Nahled2 As String
Dim Nahled3 As String
Dim Nahled4 As String
Dim ConnectionString = "Server=localhost\SQLEXPRESS;Initial Catalog=Freya;Trusted_Connection=yes;"
Dim SqlConnection As New SqlConnection(ConnectionString)
Dim SqlCommand As New SqlCommand("SELECT TOP 1 [NazevZbozi], [KratkyPopis], [DlouhyPopis], [HlavniObrazek], [Nahled1], [Nahled2], [Nahled3], [Nahled4], [MOC], [LinkMaloobchod], [Material] FROM [zbozi] WHERE IdZbozi=@id", SqlConnection)
SqlCommand.Parameters.AddWithValue("@id", ID) ' pridat parametr
SqlConnection.Open()
Dim DataReader As SqlDataReader = SqlCommand.ExecuteReader()
If DataReader.Read() Then
Jmeno = DataReader("NazevZbozi")
KratkyPopis = DataReader("KratkyPopis")
DlouhyPopis = DataReader("DlouhyPopis")
MOC = DataReader("MOC")
Link = DataReader("LinkMaloobchod")
Material = DataReader("Material")
HlavniObrazek = DataReader("HlavniObrazek")
Nahled1 = DataReader("Nahled1")
Nahled2 = DataReader("Nahled2")
Nahled3 = DataReader("Nahled3")
Nahled4 = DataReader("Nahled4")
Else
' zazny zaznam neexistuje s danym ID, zobrazit tedy chybu nebo cokoliv, co se hodi
End If
DataReader.Close()
SqlConnection.Close()
JmenoLabel1.Text = Jmeno
JmenoLabel2.Text = Jmeno
KratkyTextLabel.Text = KratkyPopis
DlouhyTextLabel.Text = DlouhyPopis
MOCLabel.Text = "MOC:" & MOC
LinkLabel.Text = "Link na maloobchod"
LinkLabel.NavigateUrl = Link
IDLabel.Text = "ID: " & ID
MaterialLabel.Text = Material
MainPic.ImageUrl = HlavniObrazek
Nahled1PIC.ImageUrl = Nahled1
Nahled2PIC.ImageUrl = Nahled2
Nahled3PIC.ImageUrl = Nahled3
Nahled4PIC.ImageUrl = Nahled4
End Sub
|