Ir al contenido principal

Entradas

Mostrando entradas de 2012

Método Parse() o los métodos de la clase Convert

Vamos arrojar un poco de luz sobre las diferencias entre utilizar el método Parse() de las estructuras de tipos de .NET o utilizar los métodos de la clase  System.Convert . En realidad parece que hacen lo mismo pero existe una gran diferencia.Supongamos que dejamos que un usuario introduzca un valor numérico por pantalla y queremos realizar cálculos con ese valor. Por lo tanto, el valor introducido por el usuario será del tipo System.String y deberemos convertirlo a un tipo de valor numérico, por ejemplo System.Int32 . En definitiva queremos saber que diferencia hay entre ejecutar estas dos lineas de código: int  valorA  =  Convert.ToInt32(valorUsuario) ; int  valorB  =  Int32.Parse(valorUsuario) ; Cuando utilizamos la segunda opción, el método Parse() , si el usuario no ha introducido ningún valor ( null ) recibiremos una excepción del tipo System.FormatException . Lo que indica que el  formato del argumento no cumple las es...

String Cuidado con ese tipo!

El tipo System.String, que como todos sabemos representa una cadena, es un tipo algo especial con el que hay que tener un poco de cuidado a la hora de menejarlo. Veamos en primer lugar una definición más o menos formal del tipo System.String: " El tipo System.String es un tipo por referencia e inmutable (de solo lectura) que representa una cadena de texto como una colección secuencial de caracteres Unicode (objetos System.Char)".  Para este artículo nos centraremos en la primera parte de la definición, es decir, en "El tipo System.String es un tipo por referencia e inmutable (de solo lectura) ...". ¿Que quiere decir que es inmutable? Un objeto inmutable es un objeto que no se puede modificar. Cuando creas, o cargas en menoria un objeto de este tipo, permanece con el mismo valor durente toda la vida del objeto. Veamos el siguiente fragmento de código:              string  miCadena  =...

Manejo de strings en C SHARP .NET

Hola csharpedianos, En este post veremos varios metodos aplicados al manejo de caracteres con la clase string. Un string es una cadena de caracteres, y hay que saber dominar todos estos caracteres y hacer con ellos lo que nos venga en gana. Es por eso que les traigo este post donde veremos algunas cosas interesantes que podemos hacer con esta clase string.  Código en C#  public static bool Contiene(string palabra, string cadena) { for (int i = 0; i <= palabra.Length-cadena.Length; i++) //Si encontramos dos letras iguales if(palabra[i]==cadena[0]) { bool contenida = true; //Recorremos la cadena desde la posición 1 //y comparamos con la palabra a partir de //la posición donde las dos letras iguales for (int j = 1; j < cadena.Length; j++) if (palabra[i + j] != cadena[j]) contenida = false; //Si esta contenida if(contenida) return true; } //Si no está contenida return false; } public static bool EsPalindromo(string s)...

Diferencias entre Char, Varchar, NChar y NVarchar en SQL Server

¿Cuál es la diferencia entre estos, y cuán importante es la diferencia? Char y NChar   Cuando se configura un campo de tipo Char o NChar estamos indicando campos de tamaño fijo. Es Decir, si configuramos una tabla de la siguiente forma Campo1 Char(10), Campo2 NChar(10)   La diferencia entre Char y NChar es el soporte a carácteres Unicode (los carácteres Unicode ocupan más de 1 byte) . Por este motivo a la hora de almacenar algún valor, en el Campo1 siempre ocupará 10 bytes y en el Campo2 20 Bytes. Varchar y Nvarchar VARCHAR es la abreviación de variable-length character string.    Es una cadena de caracteres de texto que puede ser tan grande como el tamaño de página para la tabla de la base de datos. Los campos de tipo Varchar o NVarchar son de almacenamiento variable .  El tamaño almacenado dependerá del valor que se quiere guardar, el número de caracteres sólo configura el tamaño máximo que este campo puede almacenar.  Conf...

Monitorear el rendimiento de SQL SERVER

SQL Server Profiler ·          Muestra como SQL Server resuelve las queries internamente ·          Permite a los administradores ver como se ven las sentencias T-SQL  y como el servidor regresa los resultados. ·          Se puede: o    Crear una traza basado en Templates o    Verificar los resultados de la traza o    Almacenar los resultados de la traza en un archivo o tabla ·          Capturar datos enviados al servidor que permite al programador verificar errores o datos incorrectos. Windows System Monitor ·          Monitorear el uso de recursos. ·          System Monitor también llamado Performance Monitor. ·          Comparando SQL Server Prof...

Verificar url o archivos remotos

 Trabajando en uno de los proyectos para la empresa donde laboro, me surgió la necesidad de verificar si un archivo existía teniendo solo su url, fue aquí donde comencé a investigar junto con mi amigo Edwin Rincon y encontramos una solución muy buena la cual les voy a compartir a continuación. Pueden utilizar este método para comprobar que sus paginas web están funcionando de forma correcta o usarlo para comprobar links suministrados por otros usuarios, en fin, lo pueden usar para lo que necesiten. Este método recibe 2 parámetros: El primero es la url que se desea comprobar y el segundo es la cantidad de tiempo máximo que queremos que espere por una respuesta, vale aclarar que el tiempo lo damos en milisegundos, quiere decir que un segundo equivale a 1000 milisegundos, en este caso he colocado que espere solo 3 segundos, si en ese tiempo no recibo una respuesta por parte del servidor remoto entonces asumo que la url no existe, ustedes pueden poner el tiempo que quieran....

Visual studio 2012: Lanzamiento

El miércoles 12 de septiembre de 2012 Microsoft lanzo la nueva versión de la herramienta de desarrollo mas robusta, fácil y útil que puede existir, se trata de visual studio 2012 el cual ha cambiado un poco su apariencia física y su logo, ya no es el azul que estábamos acostumbrados a ver en la versión de visual studio 2010, ahora tiene un gris pálido (un poco feo en mi opinión) el cual regulan con azul que se deja ver de vez en cuando, aunque para aquellos desarrolladores medio góticos o emos, si van [Herramientas - Opciones] pueden cambiar por un tema Dark. Pero mas allá de los cambios en la apariencia visual studio ha sufrido cambios importantes ya que ha agregado mejoras para linq, expresiones lambda, aplicaciones para WIN8 y el nuevo Framework 4.5 . Lo que mas me ha gustado es que es muy rápido y con solo dar clic sobre un aspx se mostrara estilo de un preview donde puedes ver todo el código html y editarlo. A Continuación listare algunas de las mejoras de VS 2012: C...

Formatos con String.Format en C#

Todas las aplicaciones que desarrollamos en algún momento necesitan formatear algún tipo de datos, y no se a ustedes pero a mi siempre se me olvidan los formatos y como obtener los resultados de una u otra forma, es por eso que decidí hacer este post, y recopilar la mayor cantidad de formatos posibles, para buscarlos cuando necesite y ustedes puedan copiarlos ;=). Para formatear cadenas existe una clase especializada en el manejo de cadenas, esta clase se llama String, su nombre completo es System.String, ya que se encuentra en el namespace System. En esta clase vamos a encontrar una función llamada Format que se encargará de reemplazar el valor de un dato (entero, real, una cadena, un carácter, hasta de un objeto), por el formato que se especifique en el parámetro. En forma general, y aunque tiene varias sobrecargas, String.Format tiene la siguiente sintaxis: Formatos para números:   Tipo ...

Obtener imagen de html o url en .NET

 Hola Csharpedianos, hace tiempo quería escribir este post pero no había encontrado un ejemplo digno de ser mostrado en nuestro blog, hasta que mi amigo Edwin Rincon [un excelente programador entre otras cosas] me dijo, "he tío mira lo que hice" e ilumino las palabras de este bendito post. La idea es crear imagenes miniatura (Thumbnail) de una pagina web, teniendo solo su url. Para que rayos me servirá eso? Pues si estas leyendo este post es porque lo necesitas para algo o si no entonces?.       Para cumplir el objetivo de obtener una imagen miniatura de una pagina web desde C#, lo primero que tenemos que hacer es descargarnos esta clase AQUÍ ). Explicare los metodos uno a uno (Que comience la fiesta): Lo primero que tenemos  es este metodo el cual se encarga de llamar los procedimientos necesarios para que nuestro resultado sea el esperado, este recibe los siguientes parametros: Url :  La url de la pagina a la cual le queremos hace...

Serializar a JSON en .NET

En este articulo vamos a mostrar un ejemplo de como conseguir serializar clases de .NET en el formato de java script: JSON . Como verán a continuación es extremadamente simple. Vamos a realizar con VS2008 un proyecto de tipo web site de ASP.NET. Utilizaremos como librería cliente jQuery, por lo que necesitamos añadimos la referencia a la librería – que podemos descargar desde el sitio oficial de jQuery http://www.jquery.com/ . Tras descargar el archivo lo incluiremos en nuestro proyecto – en mi caso he incluido el archivo en la ruta “js/lib”. < script src ="js/lib/jquery.js" type ="text/javascript"></ script > También podemos referenciar jQuery directamente desde los repositorios de Google o Microsoft. < script src ="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type ="text/javascript"></ script > < script src ="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js" ...

Optimizador de Querys: SQL SERVER

Dirán que soy intenso con el tema de SQL SERVER y optimizacion de la base de datos, pero es algo tan importante como el desarrollo de la aplicacion misma, ya que si esto falla, podremos tener muchos problemas con la funcionalidad y el rendimiento de nuestra aplicacion (a menos que no utilice base de datos). Por esta razón insisto tanto en que tengamos vigilados cada una de las áreas de la base de datos y en este post les traigo un libro buenisiiiiimo que se llama " Inside the SQL Server Query Optimizer " y fue escrito por Benjamin Nevarez . El libro esta en ingles y es muy bueno para optimizacion de querys. Descarguenlo Aquí. Espero que lo disfruten, compartan y comenten. ;) "Si se puede imaginar... se puede programar."

Características descontinuadas en SQL Server 2012

Con la llegada de SQL Server 2012, la mayoría de los desarrolladores que día a día tenemos que convivir con el motor de base de datos, así como aquellos DBA’s (Administradores de Bases de Datos), nos hacemos la pregunta de si una versión actual soportará características anteriores de versiones como 2005 o 2008. Todo cambio tecnológico tiene su riesgo, y no obstante con las versiones de SQL Server. A continuación les comparto las características que ya no tendrán disponibles en la versión 2012. Active Directory Helper Service: Los componentes que han sido removidos dentro de la parte de directorio activo son: sp_ActiveDirectory_Obj, sp_ActiveDirectory_SCP y sp_ActiveDirectory_Start. Es importante señalar que no se encuentra ninguna característica en SQL Server 2012 que sustituya a los componentes anteriormente comentados. En el caso de Reporting Services en SQL Server de 64 bits, cabe mencionar que desde la versión SQL Server 2008 R2, el componente ya no admitía s...

Mejores practicas: SQL SERVER

Siempre es bueno llevar un conocimiento básico de los estándares y mejores prácticas en desarrollo y bases de datos. A continuación les proporciono con una lista de “Best Practices” para SQL Server (Que aplican también para muchos otros DBMS):   1. No usar Select *. Siempre que se utiliza Select * todas las columnas en la tabla o unión se incluyen en el conjunto de resultados, así que el incluir todas las columnas aunque no sean necesarias provoca un exceso de entradas/salidas en el servidor y un consumo innecesario del ancho de banda de la red. 2. Siempre mandar llamar procedimientos almacenados. No hay que enviar declaraciones Select, Insert, Delete o Update a la base de datos; en vez de eso, siempre hay que llamar procedimientos almacenados pasándole los parámetros correspondientes. El motivo de esta mejor práctica es el siguiente: cuando SQL Server recibe una consulta, como una declaración Select, lo primero que hace es compilarla, crear un plan de ejecución...

Limpiar los Textboxs de un WebForm en C SHARP

Hola Csharpedianos, en algunas ocasiones cosas tan sencillas como limpiar todos los textbox de un formulario nos complica la vida (y mas cuando son milesss) y nos puede tomar mucho tiempo hacerlo. Aquí les traigo una forma de lograr esto con solo un método: Control strWebForm = Page.FindControl("form1"); foreach (Control strControl in strWebForm.Controls) { if (strControl.GetType().ToString().Equals("System.Web.UI.WebControls.TextBox")) { ((TextBox)strControl).Text = string.Empty; } } Aquí les dejo una apelación de ejemplo que llena y limpia todos los textbox del formulario: Descargar Aquí. Espero que lo disfruten, compartan y comenten. ;) "Si se puede imaginar... se puede programar."

Donde se gasta el tiempo de una consulta SQL SERVER?

Ahora parece un buen momento para familiarizarse con Extended Events, y puede usar los scripts de este artículo como un punto de partida práctico para aprender cómo funcionan y suministrar  funcionalidad administrativa muy útil al mismo tiempo. Como sucede con cada característica nueva, lleva tiempo y práctica aprender acerca de los Extended Events, ganar confianza con ellos y explorar cómo personalizarlos para que se adapten a nuestras necesidades. En general, mientras se procesa una consulta, puede estar en uno de dos estados: usando recursos de servidor o esperando por recursos de servidor. Utilice los Eventos Extendidos para ver dónde se gasta la mayor parte del tiempo de sus consultas . Son las palabras que leí en el libro que les traigo hoy, y a decir verdad me causo mucha curiosidad al punto que investigue todo lo que decía el libro y resulto ser muy practico e ilustrativo para las situaciones en que no sabemos porque una consulta se demora mucho o de vez en cuando s...

Rastreo de parametros con procedimientos almacenados de SQL SERVER

Los usuarios afirman que de repente la ejecución de un procedimiento almacenado es muy lenta. Sin embargo, cuando se ejecuta dentro de SSMS con los mismos parámetros, se ejecuta con rapidez. Además, los usuarios afirman que, para algunas combinaciones de parámetros,  el procedimiento almacenado funciona bien. Si estás en este escenario, están descubriendo el lado oscuro del rastreo de parámetros. ¿Qué es el rastreo de parámetros? Siempre que se invoca un procedimiento almacenado, el optimizador de consultas trata de volver a utilizar un plan de ejecución. Si existe un plan de ejecución coincidente en caché se reutiliza "a ciegas". Si no es así, se generará un nuevo plan. Durante la generación del plan, el optimizador analiza y optimiza todas las consultas en el procedimiento almacenado. Comprueba las posibilidades de generar físicamente un conjunto de resultados y considera varios factores: existencia de índices en las columnas que participa...