viernes, 24 de octubre de 2008

como generar numeros verdaderamente random en sql server

La funcion RAND en SQL Server no es muy buena, y necesita un seed la primera vez dentro del un stored procedure, por ejemplo, y luego llamarla sin parametros.
De esta forma se obtienen numeros un poco mas variados.
El tema es como generar el "Seed".

Se puede hacer a partir de los milisegundos de la maquina mas algun otro valor de parametro que varie, porque sino ni los milisegundos lo hacen variar mucho

DECLARE @seed INT, @temp INT

SET @seed = DATEPART(ms, getdate()) + @parametroEntero --genero el seed
SET @temp = RAND(@seed) --Genero un numero dummy con el seed, no lo uso

DECLARE @i INT
SET @i=0

WHILE @i < 5
BEGIN
SELECT FLOOR(RAND()* 100) --Genero numeros aleatorios del 0-99

SET @i=@i+1
END

Como medir los tiempos de ejecucion en .Net

Esta es una forma de medir tiempo de ejecución hasta el milisegundo.
Se debe inlcuir: using System.Diagnostics;

Stopwatch stopWatch = new Stopwatch();

stopWatch.Start();
//Aca va el codigo que querramos probar
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
string intervalo = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10);
Console.WriteLine(intervalo);

Desarrollo a medida

jueves, 16 de octubre de 2008

Autenticacion manual de forms

Si la pagina ha sido redireccionada a la pagina de login podemos hacer esto (autoriza y redirecciona a la pagina anterior):
FormsAuthentication.RedirectFromLoginPage("administrador", True)

Si no hay pagina donde volver, solo autorizamos al usuario y seguimos adelante:
FormsAuthentication.SetAuthCookie("administrador", False)

Presupuesto desarrollo web

martes, 14 de octubre de 2008

lunes, 13 de octubre de 2008

sentencia en sql server para que no reconozca letras acentuadas

se agrega el collation al final de la linea del where que busca el varchar:
SELECT * FROM Tabla
WHERE campoTexto LIKE '%' + @prefijo + '%' COLLATE Latin1_General_CI_AI

http://www.pointsolutions.com.ar/

jueves, 9 de octubre de 2008

Error: The following module was built either with optimizations enabled or without

The following module was built either with optimizations enabled or without
debug information:
{test.dll}
To debug this module, change its
project build configuration to Debug mode. To suppress this message, disable the
'Warn if no user code on launch' debugger option.

La solucion que encontre fue cambiar en el web.config

< compilation debug="false">

De esta forma al volver a correr el VS, pregunta si queres que cambie este setting a "True", pero debe agregar o cambiar otras cosas tambien en el Bin.

Y el proyecto empieza a funcionar.

http://www.pointsolutions.com.ar/Soluciones.aspx

martes, 7 de octubre de 2008

Error: control with id ... could not be located or a different control is assigned to the same ID after postback

Este error me salio en el GridView y la forma de solucionarlo fue activar el viewstate en el GridView es decir, agregarle la propiedad:
Viewstate="true"

http://www.pointsolutions.com.ar/presupuesto.aspx