• Viernes 29 de Marzo de 2024, 08:00

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Johnny Brusko

Páginas: [1]
1
C# / Re: Problemas con parámetros
« en: Lunes 18 de Agosto de 2008, 19:48 »
Después de investigar y hacer muchas pruebas he conseguido saber qué fallaba en mi código. Por si a alguien le es de interés lo dejo por aquí.

Código: Text
  1. SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY fecha DESC) AS RowNumber FROM noticias WHERE (titular LIKE '%'+@palabra+'%' OR cuerpo LIKE '%'+@palabra+'%') AND fecha BETWEEN @fechaInicio AND @fechaFin) AS noticias WHERE RowNumber BETWEEN (@tamanoPagina * @numeroPagina + 1 - @tamanoPagina) AND (@tamanoPagina * (@numeroPagina + 1) - @tamanoPagina)
  2.  

Mi sentencia sql ha quedado finalmente así. El parametro @palabra al ser un string no necesitaba de las comillas pero los porcentajes para hacer una busqueda más abierta si que las necesitaban.

Un saludo.

2
Indexación en Buscadores / Paciencia y rewrite de urls
« en: Viernes 15 de Agosto de 2008, 19:30 »
Estoy totalmente de acuerdo con la idea de esperar y esperar. De todas formas te ayudaría el buscar un rewrite para tus páginas y así evitar urls con parametros. En Google te va a ayudar el tener una url del tipo /titular-noticia.aspx o similar para que aparezcas un poco más arriba en los resultados.

Un saludo.

3
Indexación en Buscadores / Penalizado por Google
« en: Viernes 15 de Agosto de 2008, 19:24 »
Uno de tus comentarios me hacen pensar que puedas estar penalizado por Google. El ocultar el texto con el mismo color del fondo de tu página a Google no le suele gustar y cada vez castiga más "trucos sucios" como ese para ayudar a posicionar páginas en su buscador. Mi consejo, haz que ese texto sea totalmente visible y ten paciencia, puede que Google tarde pero tarde o temprano pasara por tu página y te levantara el castigo.

Un saludo.

4
ASP / Subir aplicación a un servidor
« en: Viernes 15 de Agosto de 2008, 18:45 »
No se si te refieres a una web o algo similar, pero a mi me suele ocurri en estos casos que suelo tener que ajustar algunas cosillas, ya sea porque tengo alguna variable que hace referencia a rutas de mi ordenador, o por que el servidor esta en otro país y pueda tener problemas con algún tema de fechas, o porque tenga que darle permisos a alguna carpeta.

Por lo demás no creo que tengas muchos más quebraderos de cabeza.

Un saludo

5
ASP / Sentencia COUNT(*)
« en: Viernes 15 de Agosto de 2008, 18:38 »
Una sencilla forma de comprobar si ese usuario y contraseña son correctos es lanzar la siguiente sentencia contra tu base de datos:

Código: Text
  1. "SELECT COUNT(*) FROM registro WHERE usuario = '" & Request.Form("usuario") & "' AND contrasena = '" & Request.Form("contrasena") & "'"
  2.  

Donde registro será la tabla donde almacenas todos los usuarios, usuario y contrasena dos de tus campos de la tabla registro y los Request.Form los datos que recoges del formulario. Si el resultado que te devuelve esa consulta es mayor que 0 (y previsiblemente si no tienes usuarios duplicados, igual a 1) es que ese usuario a introducido sus datos correctamente.

Hay muchas otras maneras de hacerlo, pero esa es más que suficiente.

Un saludo.

6
C# / Problemas con parámetros
« en: Viernes 15 de Agosto de 2008, 18:04 »
Tengo un metodo en C# que me devuelve en un DataTable una serie de noticias dependiendo de varios parametros que le paso. El problema es que si utilizo parametros para construir la sentencia sql, me devuelve el DataTable vacio, pero si lo hago con los datos directamente en la sentencia no tengo ningún problema.

Código: Text
  1.  
  2.     //metodo que nos devuelve una tabla con las noticias paginadas
  3.     public DataTable obtenerNoticiasPaginadas(Int32 numeroPagina, String palabra, DateTime fechaInicio, DateTime fechaFin)
  4.     {
  5.         try
  6.         {
  7.             String strSql = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY fecha DESC) AS RowNumber FROM noticias WHERE (titular LIKE '%@palabra%' OR cuerpo LIKE '%@palabra%') AND fecha BETWEEN @fechaInicio AND @fechaFin) AS noticias WHERE RowNumber BETWEEN (@tamanoPagina * @numeroPagina + 1 - @tamanoPagina) AND (@tamanoPagina * (@numeroPagina + 1) - @tamanoPagina)";
  8.  
  9.             SqlCommand comando = new SqlCommand(strSql, conexion);
  10.             comando.Parameters.AddWithValue("@tamanoPagina", Int32.Parse(ConfigurationManager.AppSettings["paginadoNoticias"]));
  11.             comando.Parameters.AddWithValue("@numeroPagina", numeroPagina);
  12.             comando.Parameters.AddWithValue("@palabra", palabra);
  13.             comando.Parameters.AddWithValue("@fechaInicio", fechaInicio);
  14.             comando.Parameters.AddWithValue("@fechaFin", fechaFin);
  15.             SqlDataAdapter adaptador = new SqlDataAdapter(comando);
  16.  
  17.             DataTable tablaNoticias = new DataTable("Noticias");
  18.  
  19.             conexion.Open();
  20.             adaptador.Fill(tablaNoticias);
  21.             conexion.Close();
  22.  
  23.             return tablaNoticias;
  24.         }
  25.         catch (Exception exc)
  26.         {
  27.             conexion.Close();
  28.             throw exc;
  29.         }
  30.     }
  31.  
  32.  

Si sustituyo en la sentencia sql
Código: Text
  1. LIKE '%@palabra%' OR cuerpo LIKE '%@palabra%'
  2.  
por
Código: Text
  1. LIKE '%ipsum%' OR cuerpo LIKE '%ipsum%'
  2.  
siendo ipsum un texto que hay en la base de datos, el metodo funciona perfectamente.

¿Alguien puede ayudarme a encontrar la luz al final del tunel? ¿Por qué no me funciona con el parametro @palabra?

Páginas: [1]