Avatar
Maros2470
Člen
Avatar
Maros2470:

Můžete mi někdo poradit jak na navigační tlačítka, pro výběr dat v tabulce (první řádek, poslední řádek, předchozí řádek, následující řádek)? Marně jsem něco k tomuto hledal. Díky

 
Odpovědět 29.4.2014 18:28
Avatar
Odpovídá na Maros2470
Michal Žůrek (misaz):

nějak nevím co přesně potřebuješ a co máš?

  1. Máš serverový script, víš aktuální otevřený a potřebuješ následující/před­chozí/...
  2. nemáš nic
  3. máš připravené dotazy, nemáš serverový script
  4. ani jedno

Až budeš vypisovat co už máš/nemáš. V jakém jazyce děláš serverový script (PHP, ASP.NET) a jakou máš databázi (MySQL, MS-SQL, Oracle).

Byl tu machr na PHP paginátor, tam je dost hotových řešení. Najdi si ho.

Nahoru Odpovědět 29.4.2014 18:41
Nesnáším {}, proto se jim vyhýbám.
Avatar
Maros2470
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Maros2470:

Dělám to v ASP.NET, mám MSSQL. Mám připojenou databázi a příkazy SELECT(tabulka), UPDATE a DELETE mi fungují. Potřebuji pouze navigovat v tabulce SELECT po řádcích (první, poslední, předchozí, následující). Nevím, zda jsem ti správně odpověděl.

 
Nahoru Odpovědět 29.4.2014 18:53
Avatar
Odpovídá na Maros2470
Michal Žůrek (misaz):

jo. První je jednoduchý.

SELECT TOP 1 * FROM tabulka

Poslední taky, prostě to seřadíš naopak.

Teď mě napadlo že možná poslední by mohl jít SELECT BOTTOM 1 ...

Předchozí/nás­ledující se nedozvíš z čeho, řešil bych to asi poddotazem.

Editováno 29.4.2014 19:01
Nahoru Odpovědět 29.4.2014 18:58
Nesnáším {}, proto se jim vyhýbám.
Avatar
Maros2470
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Maros2470:

Ten předchozí a následující bych chtěl odvozovat od vyselectovaného řádku. Ten selektuji klikem na řádek dataGrig

 
Nahoru Odpovědět 29.4.2014 19:06
Avatar
Maros2470
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Maros2470:

"SELECT TOP 1 * FROM tabulka" funguje, ale "SELECT BOTTOM 1 * FROM tabulka" ne.

 
Nahoru Odpovědět 29.4.2014 19:40
Avatar
Odpovídá na Maros2470
Nikola Sterziková (PaNika):

Protože žádný SELECT BOTTOM neexistuje...
Pokud máš SQL Server 2012 můžeš použít syntaxi
OFFSET číslo ROWS
FETCH NEXT číslo ROWS ONLY;
mrkni na dokumentaci...

 
Nahoru Odpovědět 30.4.2014 10:22
Avatar
Nikola Sterziková (PaNika):

aha, tak pak zkus něco jako:

;WITH PageNumbers AS(
        SELECT  [Tvoje sloupce],
                ROW_NUMBER() OVER(ORDER BY [Tvůj sloupec]) ID
        FROM    [Tabulka]

)
SELECT  *
FROM    PageNumbers
WHERE   ID  BETWEEN (číslo)
        AND (číslo)

Pěkně je to vysvětleno zde: http://stackoverflow.com/…-server-2008

 
Nahoru Odpovědět 30.4.2014 12:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.