martes, 7 de junio de 2011

Más experiencias con Sql Server CE 4.0 y ASP.NET

Siguiendo en la línea de los últimos posts, hoy voy a hablar sobre… ¡sorpresa! ¡SQL Server CE 4.0! ;-)

Simplemente son unos tips que me han ocurrido hoy y quería compartirlos.

En SQL Server (la versión de los niños mayores) es perfectamente válida este sentencia:

UPDATE Tabla SET Nombre = Valor FROM Tabla

Sin embargo, en CE la misma consulta nos arroja el siguiente error:

Error al analizar la consulta. [ Token line number = 1,Token line offset = 60,Token in error = FROM ]

Esto quiere decir que a CE no le gusta el FROM, así que la consulta anterior quedaría:

UPDATE Tabla SET Nombre = Valor

Por otro lado y aunque no falla, la sentencia SELECT @@IDENTITY no devuelve ningún valor (al menos a mí no me lo devuelve), así que si quiero saber cual es el último valor de identidad insertado hay que lanzar una consulta como la siguiente:

SELECT autoinc_next - 1 FROM information_schema.columns WHERE table_name = 'MITABLA’ AND autoinc_seed > 0

Ya os iré contando mis venturas y desventuras con CE 4.0 en ASP.NET.

Un saludo!

2 comentarios:

  1. Hola, muy buenos tips.

    Una consulta, ¿Que hacer por ejemplo para guardar el contenido de un post (que puede ser mas de 4000 caracteres) de un sistema pequeño para blogs, si CE no soporta nvarchar(MAX)?

    ResponderEliminar
  2. Al final me he liado y escrito una entrada a raíz de tu pregunta.
    http://panicoenlaxbox.blogspot.com/2011/06/ntext-en-sql-server-ce-40.html
    Espero que te sirva. Un saludo!.

    ResponderEliminar