[ scele @ 31.07.2006. 10:50 ] @
Trebao bih malu pomoc, totalni sam pocetnik u VB i ASP.NET, ali nesto sam uspio da napravim do sada. Naime, sajt je vrlo jednostavan, prikazuje rezultate iz jedne tabele na osnovu upita - id brojeva, poredjanih od 1 pa nadalje. Rezultate dobijam, recimo, kucanjem sledećeg url-a: rezultati.aspx?id=1. Može li mi neko reći, makar neke smjernice, kako da napravim link koji će da poziva sledeći rezultat iz tabele, u ovom slučaju, recimo, rezultat sa upitom id=2, pa sledeći itd. Pokušavao sam sa nekim varijablama, petljama ali neće pa neće...

Kod mog fajla:
Code:

<%@ Page Language="VB" Debug="true" %>

<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Web" %>

<HTML>
    <script language="VB" runat="server">
    
    Sub Page_Load(Src as object, E as EventArgs)
        Dim MyConnection as SQLConnection
        Dim MyCommand as SQLCommand
        Dim MySQLQuery as String
        Dim Id as String
        
        Id=Request.QueryString("Id")
        
        MyConnection = New SQLConnection("server=MSSQL2KDE; uid=sa; pwd=sa; database=test")
        MySQLQuery = ("SELECT * FROM Proizvodi WHERE id = " & Id)

        MyCommand = New SQLCommand("GetArtikalPriceCheckerMK", MyConnection)
        MyCommand.CommandType = CommandType.StoredProcedure
        
        Dim pIdBroj as New SQLParameter("@IdBroj", SQLDBType.NVarChar, 14)
        Dim pRezultat as New SQLParameter("@rezultat", SQLDBType.NVarChar, 50)

        pIdBroj.Direction = ParameterDirection.Input
        pRezultat.Direction = ParameterDirection.Output

        myCommand.Parameters.Add(pIdBroj)
        myCommand.Parameters.Add(pRezultat)

        MyConnection.Open()
        
        MyCommand.executeNonquery()

        With myCommand

        Rezultat.Text = .Parameters("@rezultat").Value.ToString()

        End With
        MyConnection.Close()
        
    End Sub


</script>


Dole idu asp Labele za prikazivanje itd...

Puno hvala na pomoći!
[ jablan @ 31.07.2006. 11:06 ] @
Proguglaj "ASP.NET paging" i sl. Ima dosta članaka sa gotovim primerima.

Načelno, princip je sledeći: postaviš LinkButton sa CommandArgument propertijem u koji staviš ID sledećeg proizvoda. U onclick handleru pročitaš prosleđenu vrednost, iskoristiš je u upitu i prikažeš odgovarajuće podatke.

Nemoj direktno da radiš sa URL parametrima, to se izbegava u .NET-u.

Takođe, obrati pažnju na ID vrednosti u tabeli. Ako koristiš identity polje, ne možeš garantovati da će sledeći slog sloga sa ID 1 biti 2. Da bi rešio ovaj problem, možda možeš da dodaš jedan output parametar u query koji će ti vraćati ID prethodnog i sledećeg proizvoda.
[ logic_rabbit @ 31.07.2006. 12:29 ] @
Nemoj koristiti stored proceduru vec upuni dataset sa podacima.
[ scele @ 31.07.2006. 12:53 ] @
Puno hvala na odgovorima, bitno mi je idejno da riješim problem, iako ne znam kako se radi Dataset...cuo sam nesto o tome ali nikad nisam radio. Bacam se na Google :)

Hvala još jednom.
[ jablan @ 31.07.2006. 12:58 ] @
Citat:
logic_rabbit: Nemoj koristiti stored proceduru vec upuni dataset sa podacima.

Zašto? Sve zavisi koliko je veliki resultset.