viernes, 12 de noviembre de 2010

Desarrollador 5 Estrellas - 4ta Estrella Cardspace

Hola amigo, para aquellos que están dando las pruebas de la certificación desarrollador 5 estrellas, y van por la 4ta en este momento, aqui les dejo el link de la prueba correspondiente a Cardspace, yo me base en esta y obtuve el 80%. http://ring0a.blogspot.com/2010/09/desarrollador-cinco-estrellas-4-1.html, en un proximo post les publicaré las respuestas.


Espero les sirva
Saludos.

miércoles, 10 de noviembre de 2010

Balsamiq Mockups:Creación de bosquejos sobre interfaces gráficas

Hola amigos, saben que hace unos meses atras necesitaba un software que me permitiera realizar bosquejos sobre interfaces gráficas de paginas web o de aplicaciones de escritorio que en mi trabajo me toca desarrollar.
Y por ahi encontré esta herramienta llamada Balsamiq Mockups
Bueno para poder instalar el programa (que es muy liviano) tenés que instalar el programa de Adobe Air. Está todo comprimido en el archivo Megaupload. Obviamente no es gratuito pero después de tanto buscar consegui el serial para que todos los T! lo puedan utilizar ilimitadamente...

http://www.megaupload.com/?d=142MQMNA

Organization name: leexij@gmail.com
Serial Key: eNrzzU/OLi0odswsqslJTa3IzHJIz03MzNFLzs+tMTQyNrcwsTQyAIEa5xpDAIFxDy8=


viernes, 5 de noviembre de 2010

BEGIN TRAN, COMMIT, ROLLBACK & GOTO

En muchas ocaciones tenemos que llevar un control sobre las transacciones que se realizan en la base de datos. Y TRAN nos permite poder ejecutar nuestras instrucciones SQL como una unica instrucción, donde todas fracasan o todas tienen exito y se completan.

Si alguna de las operaciones de una transacción falla hay que deshacer la transacción en su totalidad para volver al estado inicial en el que estaba la base de datos antes de empezar. Esto se consigue con la sentencia ‘ROLLBACK TRAN’.

Si todas las operaciones de una transacción se completan con éxito hay que marcar el fin de una transacción para que la base de datos vuelva a estar en un estado consistente con la sentencia ‘COMMIT TRAN’.

Otra sentencia muy útil es GOTO, el cual nos permite ejecutar un camino alternativo de existir un error o una condición no cumplida, en SQL Server 2005 existe una nueva funcion de TRY y CATCH (el cual trataremos en otro Post).

Bueno aqui les muestro un ejemplo de como utilizarla en SQL Server (en mi caso SQL Server 2000).

ALTER PROCEDURE [DBO].[SP_Biotoscana_PreAviso]
@ACCION INT = 0,
@ERRORID INT OUTPUT,
@MSGReturn INT OUTPUT,
---------------------------------------------------------
@IDLINEA CHAR(5) = '1',
@IDPROD CHAR(30) ='',
@DESTINO CHAR(10) = '',
@LOTE CHAR(25) = '',
@FECVENC SMALLDATETIME = NULL,
@NUMOC CHAR(10) = '',
@NUMIMP CHAR(10) = '',
@PAIS CHAR(3) = '',
@CANTIDAD FLOAT = 0,
@UNIDAD CHAR(10) = '',
@PRECUNIT FLOAT = 0,
@MONEDA CHAR(4) = '',
---------------------------------------------------------
@NUMREF CHAR(15) = '',
@TIPOCOMPRA VARCHAR(15) = '',
@RUTPROV VARCHAR(100) = ''
AS
BEGIN
DECLARE @CORR CHAR(10)
SET @CORR = ''

IF @ACCION = 1
BEGIN
BEGIN TRAN

SET @CORR = (SELECT Lastbatnbr7+1 from SETUPWEB)
SET @MSGReturn = CAST((SELECT Lastbatnbr7+1 from SETUPWEB) AS INT)

update SETUPWEB set Lastbatnbr7= @CORR

INSERT INTO PRE_WEBHEADER (
CodLab,Corr, Crtd_DateTime, Crtd_Prog, Crtd_User,
Lupd_DateTime,Lupd_Prog,Lupd_User,NoteId,
RefLab,Status,TranType,VendId
) VALUES (
'49', @CORR,GETDATE(),'INTZ', 'NFS',
GETDATE(),'INTZ', 'NFS', 0,
@NUMREF, 'H',@TIPOCOMPRA,@RUTPROV
)

INSERT INTO PRE_WEBLINE
(
Corr,Crtd_DateTime,Crtd_Prog, Crtd_User,
CuryId,ExpDate,InvtId, LineRef,
LotSerNbr, Lupd_DateTime, Lupd_Prog,Lupd_User,
OrdNbr,OpenLine,Pais,QtyOrig,RefNbr,SiteId,
ShipperId,Status_Muestreo,TranDate,Unid,UnitPrice, QtyRcvd
)
VALUES
(
@CORR, GETDATE(), 'INTZ', 'NFS',
@MONEDA,@FECVENC,@IDPROD,@IDLINEA,
@LOTE,GETDATE(), 'INTZ', 'NFS',
@NUMOC, 'A', @PAIS,@CANTIDAD,@NUMREF, @DESTINO,
@NUMIMP,0, GETDATE(), @UNIDAD,@PRECUNIT, 0
)

SELECT @ERRORID = @@ERROR
IF (@ERRORID <> 0) GOTO PROBLEM
COMMIT TRAN

PROBLEM:
IF (@ERRORID <> 0) BEGIN
ROLLBACK TRAN
END
END
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

Espero que sea de ayuda. Saludos.

jueves, 4 de noviembre de 2010

Enviar Email con C# (C Sharp)

Hola amigos! Aqui publico el código que utilizé hace unos días para poder enviar e-mail desde mi aplicacion en C#.

Lo primero, tenemo

s que hacer la llamada a la librería:



using System.Net.Mail;

Una vez hecho esto, nos creamos el objeto que enviara el mail:


MailMessage objMail;

Ahora empezamos a rellenar los datos necesarios. Vamos a incorporar un destinatario del correo, la dirección desde la que se envía, un email en copia, otro en copia oculta y un fichero adjunto:


//'Creamos el objeto del correo
objMail = new MailMessage();
objMail.From = new MailAddress("direccion@origen.com");
//Remitente

objMail.To.Add("direccion@destino.com");
//Email a enviar
objMail.CC.Add("copia@destino.com");
//Email a enviar copia
objMail.Bcc.Add("oculto@destino.com");
//Email a enviar oculto

Indicamos un asunto:


objMail.Subject = "Asunto";

Y añadimos el contenido:


objMail.Body = "contenido";

Aquí podemos indicar si debe mantener un formato de HTML o no:


objMail.IsBodyHtml = true; //Formato Html del email

Le añadimos un adjunto


objMail.Attachments.Add(new Attachment(Adjunto));

OJO: tiene que ser la ruta absoluta del fichero, no la relativa.

Ahora que tenemos el contenido del mensaje, establecemos los datos del servidor de correo:


SmtpClient SmtpMail = new SmtpClient();
SmtpMail.Host = Servidor;
//el nombre del servidor de correo
SmtpMail.Port = Puerto;
//asignamos el numero de puerto

Añadimos las credenciales si hace falta:


SmtpMail.Credentials = 
new
System.Net.NetworkCredential(Usuario, Clave);

Y ya solo nos queda enviar el e-mail:


SmtpMail.Send(objMail); //Enviamos el correo

Y con eso estamos listos!!! espero les sirva.

Saludos.

Leer XML con Linq y C#

Ayer me encontre con la situación de leer la siguiente estructura de xml enviado por uno de nuestros clientes. Este XML debe ser cargado en nuestra Base de Datos SQL Server. Me topé con el problema de como recorrer el detalle de los artículos ya que cada artículo puede estar compuesto de uno a varios lotes. (ver figura).


Y encontre la solución con este fragmento de código:

Formatear Números en SQL Server

Una duda que suele tener la gente es como formatear los datos numéricos en SQL Server. A veces tenemos la necesidad de formatear números completando con ceros hasta un número determinado de posiciones. El siguiente script nos muestra la forma más eficiente de conseguir este resultado:

y el resultado de la operacion será: 0000002002

viernes, 20 de agosto de 2010

Instalar PHP con IIS

Ayer encontré este post buenísimo en http://www.desarrolloweb.com/ y quise agregarlo a mi colección y aqui les dejo su contenido.

Descargar archivos de http://www.php.net/downloads.php#v5
Se recomienda bajar los archivos PHP 5.2.1 zip package y las extensiones adicionales PECL PECL 5.2.1 Win32 binaries
1. Crear directorio en C:PHP y extraer los archivos de ph 5.21zip package y extraer los archivos de PECL 5.2.1 WIN32 binaries en el directorio C:PHPEXT.
2. Renombrar el archivio php.ini-recommended como php.ini
3. Modificar archivo php.ini en las siguientes variables short_open_tag = On extension_dir = "c:phpext" cgi.force_redirect = 0
4. Copiar php.ini a c:windows o c:winnt
5. Registrar la DLL regsvr32 php5activescript.dll
6. Agregar ruta de del directorio php y las extenciones en la opcion de Environment Variable de windows2003

7. Configuración en IIS



8. Configurando extensiones en IIS








9. Probando PHP
Crear archivo index.php en C:Inetpub\wwwroot
Copiar el codigo siguiente en el archivo


2. Abrir IE6 y poner la dirección http://localhost/index.php, si le da error verificar los pasos de la instalación.
Si no da error saldra una pantalla con información sobre la versión de php.

lunes, 16 de agosto de 2010

INSTALACIÓN ASP.NET 2.0 AJAX Extensions

Instalando el paquete de ASP.Net 2.0 AJAX Extensions, paso a paso:

Si piensas implementar y trabajar con AJAX en tus proyectos de ASP.NET, primero debemos antes de agregar el AJAXTOOLKIT a nuestro Visual Studio 2005 o 2008, Descargar el fichero de instalación ASPAJAXExtSetup.msi desde la siguiente ubicación
Microsoft ASP .Net 2.0 AJAX Extensions 1.0.
Ejecutamos el archivo descargado (ASPAJAXExtSetup.msi).
Nos aparecerá la siguiente ventana:



Y seguimos las indicaciones de la instalación.

Y con esto estaremos listos para agregar posteriormente la librería de AJAXTOOLKIT.

Saludos

viernes, 13 de agosto de 2010

Visua Studio Express 2008 y 2010

Si necesitas realizar algunos proyectos con las funcionabilidades básicas de visual studio .NET ya sea 2008 o 2010 aqui les dejo el link para puedan descargarlo:
pincha aqui

miércoles, 11 de agosto de 2010

Escribir Archivo XML desde ASP.NET

Amigos, el día de ayer me toco la tarea de escribir un archivo XML desde mi pagina asp.net, el objetivo era generar un archivo *.xml como un log de errores. y para ello generé las siguientes clases:


1. Generé una clase llamada CLS_Logger e incluí los siguientes import
Imports System
Imports System.Data
Imports System.Diagnostics
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Serialization
Imports System.Data.SqlClient
Imports System.Exception
Imports System.Data.Sql
Imports System.Text
Imports System.Collections.Generic
Imports System.Configuration.ConfigurationManager
Imports System.Web
Imports System.Web.UI.Page





2. En el codebehind de mi pagina lo implemente así, agregando a la vez la referencia de la clase anterior:


tiene que ajustar este codigo de acuerdo a tu necesidad, pero tienes aqui la idea básica de como funciona.


Espero les siva. Saludos.

martes, 10 de agosto de 2010

SQL Server 2005 Problemas de Conexión Remota

Después de instalar SQL Server 2005 EXPRESS y querer atacar con mi aplicación al servidor de SQL Server 2005 EXPRESS me daba error de conexión o acceso denegado al servidor.

Investigando he encontrado que el problema es de configuración del servidor, ya que por defecto no admite conexiones TCP/IP para conexiones remotas.
Para habilitar las conexiones remotas: Inicio, Todos los programas, Microsoft SQL Server 2005, Configuration Tools, SQL Server Configuration Manager.
De la lista de SQL Server Configuration Manager seleccionar SQL Server 2005 Network Configuration. Aparecerá Protocols for SQLEXPRESS (SQLEXPRESS porqué es la version que hemos instalado).En la derecha aparecen los protocolos para SQLEXPRESS:

Seleccionar el protocolo TCP/IP y darle doble clic. Hay que ponerlo Enabled = Yes.
Pulsamos en aplicar, y aparece el mensaje que es necesario reiniciar el servicio para que tenga efecto las modificaciones del protocolo TCP/IP.
Aceptamos y reiniciamos el servicio SQL SERVER EXPRESS
Si sigues con problemas de conectividad, intenta arrancar el servicio "SQL Server Browser" en servicios del servidor.

jueves, 5 de agosto de 2010

Leer cadena de conexión del WebConfig desde Una Clase

Con este truco informático podremos leer la cadena de conexión del Web Config en ASP.NET 2.0. Primero crearemos la cadena de conexión en el web config:

<;connectionstrings>;
<;remove name="LocalSqlServer">;
<;add name="LocalSqlServer" connectionString="DataSource=myDBServer;database=myDB;Integrated Security=True;" providerName="System.Data.SqlClient"/>;
<;/connectionStrings>;

Ahora ya tenemos la cadena de conexión creada en el Web Config. Podemos leerla así de fácil:

En C#:

string strConnString = ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;

En VB.NET:

Dim strConnString As String = ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString

Response.Redirect desde una Clase "*.cs"

Hoy día, necesité hacer un response.redirect("xxxxxx.aspx"); desde una clase de mi proyecto ASP.NET.

Mi clase se ubica en la capa de Negocio del proyecto, ahora, para poder realizar este proceso se tiene que agregar la referencia System.Web y System.Configuration en la capa.



Luego de esto: cuando requieras hacer el response debes de colocar la siguiente línea:


System.Web.HttpContext.Current.Response.Redirect("ErrorUsuario.aspx");

y listo