Versión Completa : Problemas con Microsoft SQL
mayra13359
mayo 19, 2007, 08:44
Yo tengo una sentencia SELECT de MS SQL para paginar la salida de registros, de esta forma
SELECT * FROM Publicaciones ORDER BY IdPublicacion DESC LIMIT $inicial,$cantidad
pero esto no funciona porque en MS Sql no existe la clausula LIMIT, me pueden ayudar a simular esto para lograr que me muestre las salidas cada 10 registros.
Gracias
Alexeyev
mayo 25, 2007, 03:05
SET ROWCOUNT (T-SQL)
Hace que Microsoft® SQL Server™ deje de procesar la consulta cuando se haya devuelto el número de filas especificado.
A continuación se establece 4 en ROWCOUNT y se actualizan todas las filas con anticipos de 5000 $ o más.
-- SET ROWCOUNT to 4.
SET ROWCOUNT 4
GO
UPDATE titles
SET advance = 5000
WHERE advance >= 5000
GO
UAC_Likibuay
mayo 25, 2007, 03:55
SET ROWCOUNT (T-SQL)
Hace que Microsoft® SQL Server™ deje de procesar la consulta cuando se haya devuelto el número de filas especificado.
A continuación se establece 4 en ROWCOUNT y se actualizan todas las filas con anticipos de 5000 $ o más.
-- SET ROWCOUNT to 4.
SET ROWCOUNT 4
GO
UPDATE titles
SET advance = 5000
WHERE advance >= 5000
GO
esta no me la sabia...muy interesanteeeee
gracias por el datoo..=)
mayra13359
mayo 26, 2007, 08:29
Gracias por la ayuda, habia encontrado una forma de hacerlo en la pagina Planeta LINUX Argentina en el tema PHP-MSSQL.
Gracias Alexeyev (http://www.laneros.com/member.php?u=3178).
Les muestro
<?
$conn=mssql_pconnect("localhost","sa","sa") or die("no se pudo conectar a la base de datos");
mssql_select_db("SARP");
//Declaramos el tamaño de registros que se van a visualizar por pagina.
$t=20;
if(!isset($_GET['pagina']))
{
$pagina=1;
$inicio=0;
}
else
{
$pagina=$_GET['pagina'];
$inicio=($pagina-1)*$t;
}
$sql="select top 7000 * from valores_analogicos";
$r=mssql_query($sql);
$total_paginas = ceil(mssql_num_rows($r) / $t);
$lim_inferior=1;
$lim_superior=1;
?>
<table border="1" align="center">
<tr>
<td>
Identificador
</td>
<td>
Descripción
</td>
<td>
Valor
</td>
</tr>
<?
while($f=mssql_fetch_array($r))
{
//Con esta condición visualizamos los registros sin usar LIMIT.
if ($lim_inferior>$inicio && $lim_superior<=$t)
{
?>
<tr>
<td><? echo $f[0]."<br>\n"; ?> </td>
<td><? echo $f[1]."<br>\n"; ?> </td>
<td><? echo $f[2]."<br>\n"; ?> </td>
<?
//echo "<hr width=10% align=left>";
$lim_superior++;
?>
</tr>
<?
}
$lim_inferior++;
}#Termina while
?>
</table>
<?
for ($i=1;$i<=$total_paginas;$i++)
{
if ($i!=$pagina)
{
echo "<a href=$PHP_SELF?pagina=$i>$i</a> ";
}
else
{
echo $i." ";
}
}
?>
vBulletin®, Copyright ©2000-2009, Jelsoft Enterprises Ltd.