JASoft.org

Creación de un control botón ASP.NET para regreso automático

Creación de un control botón ASP.NET para regreso automático
Una cuestión común en todas las aplicaciones Web es hacer que la navegación sea lo más sencilla posible para nuestros usuarios. Una situación muy habitual es la de reutilizar una página para varios propósitos de modo que a ésta se puede llegar por diversos sitios. Si colocamos un botón de "Cancelar" o "Volver" es frecuente que tengamos que escribir bastante código para asegurarnos que devolvemos al usuario al lugar del que vino teniendo en cuenta los diferentes "postbacks" producidos por los controles de la página. El siguiente control permite aislarnos de este tipo de cosas haciendo por debajo él todo el trabajo. Añade un nuevo control de usuario y llámale "Volver.ascx". Sobre su superficie coloca simplemente un botón con el nombre cmdVolver y asígnale el texto "Volver". En el archivo de código escribe lo siguiente (en C#, en VB sería más o menos igual): using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;usi... [Más]

Excepción con 'ARITHABORT' al insertar datos en una base de datos SQL Server

Excepción con 'ARITHABORT' al insertar datos en una base de datos SQL Server
Este error me pasó el otro día en una aplicación que estoy desarrollando para una empresa de logística y me pareció lo suficientemente interesante como para reseñarlo aquí. El caso es que tienes un código de actualización INSERT normal y corriente de acceso a datos, escrito directamente con código ADO.NET, a través de un procedimiento almacenado o incluso mediante el uso de un TableAdapter de un DataSet tipado (por debajo es ADO.NET normal). Cuando vas a actualziar cualquier registro, de repente, te salta el siguiente error: INSERT failed because the following SET options have incorrect settings: 'ARITHABORT' Bueno. Esta excepción es el resultado resultado directo de una particularidad de SQL Server. El caso es que si tenemos una tabla que está referenciada dentro de cualquier vista de la base de datos que sea una vista indexada, no es posible introducir nuevos registros en la tabla de la manera normal y directa. Lo típico que pasa (y de hecho fué lo que me pasó a mi): Creas va... [Más]

Otro bug de .NET que he descubierto: valores calculados en DataSet tipados.

Otro bug de .NET que he descubierto: valores calculados en DataSet tipados.
Este bug lo he descubierto hace poco y lo puse en su día en la página de Connect de Microsoft. El caso es que hasta la fecha nadie ha dicho "esta boca es mía", pero para mi se trata de un error claro. A continuación describo la situación así como la forma de salvarla con el menor esfuerzo...: Una aplicación Web (imagino que en una Windows pasaría lo mismo, pero no lo he comprobado). Creas un DataSet tipado con su correspondiente TableAdapter para realizar el acceso a datos. A los campos devueltos le añades manualmente uno nuevo (o varios) que serán campos calculados a partir de los otros (por ejemplo, asignándole una expresión del tipo "Apellidos + ',' + Nombre"). Ahora pruebas el TableAdapter con la opción de vista previa y verás que, en efecto, todo va bien y la nueva columna muestra el valor calculado que se supone que debería tener. De acuerdo... Ahora escribes código en tu aplicación que instancia el TableAdapter y llama a la versión 'Get' del método de acceso a datos (como sab... [Más]

Comportamiento extraño con el formato de fechas en los GridView

Comportamiento extraño con el formato de fechas en los GridView
Cuando estamos usando un GridView para mostrar datos obtenidos de una base de datos resulta muy cómodo usar el editor de columnas para definir cómo se deben mostrar los datos en el listado que se genera. Una propiedad muy interesante de las columnas enlazadas en DataFormatString, que nos permite decidir qué estilo queremos aplicar a las columnas. Sin embargo con los campos que contienen fechas pasa unacosa muy rara... Si tenemos un campo que es una Fecha y definimos una columna enlazada de modo similar a este: <asp:BoundField DataField="FechaFin" DataFormatString="{0:d}" HeaderText="Final"> esperaremos ver algo similar a lo siguiente en la columna: 13/7/2006. Sin embargo por más que cambiemos el formato veremos algo como esto: 13/7/2006 00:00:00 Es decir, no hace caso y mete el formato de fecha y hora cortas. Si queremos que una columna de tipo fecha haga caso al formato tenemos dos soluciones: 1.- Convertirla en una plantilla. Con esto funcionará sin problemas ... [Más]

EyeOS: Sistema operativo Web

EyeOS: Sistema operativo Web
Leo en el Blog de Carlos Fouz de la existencia de este proyecto originado y soportado fundamentalmente en España (en Barcelona) sobre un "Sistema Operativo" Web. Se trata de una aplicación Web 2.0 escrita en PHP 4 que va un poco más allá de Netvibes o Windows Live para simular el modo de uso y ciertas utilidades típicas de un sistema operativo. Ofrece un escritorio y diversas aplicaciones a través de un lanzador que podemos utilizar desde cualquier navegador. Tiene un editor de textos, una calculadora, anotaciones, agenda, calendario, juegos, etc... Incluso cosas tan peregrinas como ¡un navegador Web!. Cuando lo vi la verdad es que me hizo mucha gracia: un navegador simulado dentro de otro navegador... NO me digas que no tiene coña ;-) En fin, el caso es que es gratuito y merece la pena echarle un vistazo.   Ahora va bastante lento y tiene algunos fallos pero todavía es una beta. Aún así pruébalo... Por otro lado se puede descargar el código fuente y un instalador para mont... [Más]

Ya soy persona: ya vuelvo a tener Internet :-)

Ya soy persona: ya vuelvo a tener Internet :-)
Los que seguís este Blog asiduamente habréis notado que durante el último mes apenas he publicado nada. El motivo es que he estado "castigado" sin conexión en casa, y desde la oficina no suelo tener tiempo para pensar siquiera en publicar algo aquí :-( La historia de todos modos es rocambolesca y además me apetece contarla para que no pille a otros por sorpresa... Mi proveedor de acceso en casa es Wanadoo. El caso es que empecé a trabajar con ellos hace tiempo con un ADSL de 512 Kbps que para el momento estaban muy bien. Poco después movieron su oferta de velocidad a 2 Mbps, lo cual me llenó de alegría porque tenía el cuádrupe de velocidad por el mismo precio. El cambio se hizo sin problemas y de forma automática. Además la línea iba muy bien (a 1,6 o 1,8 Mbps normalmente). El caso es que hace un mes vi que por el mismo precio ahora ofrecían 20 Mbps y me dije que sería estupendo aumentar la velocidad. Como de este tipo de compañías no me fío ni un pelo (bueno, mejor dicho, no m... [Más]

Creación de robots: Microsoft Robotics Studio

Creación de robots: Microsoft Robotics Studio
¿Alguien había oído hablar alguna vez de una división de robótica dentro de Microsoft?. Pues por lo visto ni siquiera los propios empleados de Microsoft lo conocían. El caso es, por sorpresa, hace unos días se presentaron en sociedad de manera gloriosa. Lo primero que han liberado es una versió preliminar de Microsoft Robotics Studio. Se trata de un entorno dirigido a investigadores, profesionales y aficionados que permite crear de manera sencilla aplicaciones con robots con diversas plataformas hardware. Los componentes del toolkit son: Plataforma completa de desarrollo de robots: incluye una herramienta de desarrollo visual que permite crear y depurar de forma sencilla servicios modulares de hardware y software para interactuar con diversos tipos de robots a través de Windows y de Servicios Web. También se pueden crear entornos virtuales de simulación en 3D para probar el software sin disponer de robots reales. Microsoft ha licenciado el motor de simulación física d... [Más]

Presentado Team System para profesionales de las bases de datos

Presentado Team System para profesionales de las bases de datos
El pasado día 31 de mayo Microsoft presentó Visual Studio Team edition for DataBase Professionals. Se trata de un producto que amplía las capacidades de Team System y le añade capacidades de colaboración a los equipos que trabajan en sistemas de bases de datos. Entre sus principales características cabe destacar las siguientes: · Control de código fuente: no sólo de procedimientos almacenados y consultas, sino incluso también del esquema de la base de datos. Podemos tener una base de datos "base" y compararla automáticamente con otra en producción generando los scripts de actualización y minimizando los riesgos asociados con estos cambios entre desarrollo y producción. · Pruebas automatizadas: creación de pruebas unitarias para esquemas de bases de datos qu epueden ejecutarse de forma independiente o en conjunción con las del resto del equipo desde VS2005. · Comunicación y colaboración mejoradas: un nuevo rol dentro team System específico para desarrolladores de datos permite ad... [Más]

Tipos anulables en .NET 2.0

Tipos anulables en .NET 2.0
Una interesante característica nueva que ofrece la versión 2.0 de la plataforma.NET es la de "Tipos anulables" o, en inglés, "Nullable types". Se trata de un tipo especial de dato que permite que los tipos base por valor se puedan comportar como valores por referencia nulos cuando sea necesario (repasa mi post sobre tipos por valor y por referencia). De este modo este nuevo tipo anulable permite representar valores concretos o la ausencia de valor. Por ejemplo, una variable de tipo 'int' siempre contiene un número entero. Aunque no le asignemos explícitamente nada, al ser un tipo base por valor siempre toma un valor por defecto, en este caso concreto un 0. Pero claro, un 0 no es lo mismo que decir 'esta variable no contiene valor alguno'. En el caso de las clases (tipos por referencia) la ausencia de "valor" se representa asignándole un nulo a la variable, pero en los tipos por valor esto no es posible. ¿No sería estupendo disponer de un híbrido entre estos dos comportamientos? Pu... [Más]

SSL y algunos conceptos erróneos sobre seguridad

SSL y algunos conceptos erróneos sobre seguridad
El otro día en el Blog de George Ou en ZDNet apareció este artículo sobre seguridad HTTPS (SSL) en los bancos: "Many Banks failing to use SSL authentication". En él George hablaba sobre muchos bancos americanos y el problema que suponía para ellos el hecho aparentemente inocente de que su página principal, en la que está también el login a su banca electrónica, no usase SSL. Por suuesto en cuanto metías los datos y dabas a "Entrar" las comunicaciones se encriptaban, pero quizá era ya demasiado tarde. Vale la pena echarle una lectura rápida... El caso es que el artículo en cuestión levantó mucha polémica (a más de un mal webmaster le tocó las narices) y poco después, hace unos días, sacó otro artículo en respuesta a esas críticas en el que analizaba las declaraciones oficiales al respecto que se hacían en una página de la Marina Estadounidense. Si bien los conceptos relacionados son básicos a más de uno le vendrá bien echarle un repaso a lo que comenta ya que si el Ejército de los USA... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico