Un rincon informático donde encontrarás tips de configuración de PC, Base de Datos, Lenguajes de Programación, etc.
viernes, 12 de noviembre de 2010
Desarrollador 5 Estrellas - 4ta Estrella Cardspace
Espero les sirva
Saludos.
miércoles, 10 de noviembre de 2010
Balsamiq Mockups:Creación de bosquejos sobre interfaces gráficas
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
Si alguna de las operaciones de una transacción falla hay que deshacer la transacción en su totalidad para volver al
Si todas las operaciones de una transacción se completan con
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
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 |
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(); |
Añadimos las credenciales si hace falta:
SmtpMail.Credentials = |
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#
Formatear Números en SQL Server
y el resultado de la operacion será: 0000002002
viernes, 20 de agosto de 2010
Instalar PHP con IIS
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
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
pincha aqui
miércoles, 11 de agosto de 2010
Escribir Archivo XML desde ASP.NET
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
Para habilitar las conexiones remotas: Inicio, Todos los programas, Microsoft SQL Server 2005, Configuration Tools, SQL Server Configuration Manager.
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
<;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"
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
Convertidor de Codigo .NET
Propiedades en C#
public clase SomeClass {
SomeClass someclass = new SomeClass();
public static uint Somenum
{
set { m_somenum = value; }
get { return m_somenum; }
}
}
Cosas básicas pero muy utiles. Espero les sirva
miércoles, 4 de agosto de 2010
ASP.NET AJAX en .NET 3.5 y VS 2008
ASP.NET AJAX 1.0 se publicó como una descarga aparte que se instalaba encima de ASP.NET 2.0. Con .NET Framework 3.5, todas estas características vienen incluídas en ASP.NET, con lo que no tendremos que descargar ni instalar para construir o desplegar aplicaciones.
Cuando creamos nuevas aplicaciones ASP.NET o sitios web con VS 2008 con el framework .NET 3.5, VS añadirá las líneas necesarias para AJAX en el web.config y añadirá los controles de servidor de ASP.NET AJAX en nuestra barra de herramientas.
La versión de ASP.NET AJAX que viene con .NET 3.5 tiene unas cuantas mejoras – entro otras el soporte para usar UpdatePanels en WebParts, soporte para WCF basado en end-points JSON, soporte para usar ASP.NET Profile, Role y Login Application Services con JavaScript, y se han corregido algunos bugs y se ha mejorado el rendimiento.
Entendiendo el versionado de ASP.NET AJAX
ASP.NET AJAX 1.0 y .NET 3.5 pueden estar instalado en la misma máquina. ASP.NET AJAX 1.0 está implementado en la V1.0 del ensamblado System.Web.Extensions.dll. La versión V3.5 de System.Web.Extensions.dll es totalmente compatible con la implementación 1.0 (con lo que no tenemos que cambiar ningún código para usarlo).
Cada aplicación ASP.NET en una máquina puede elegir qué versión de ASP.NET AJAX se usara para construir y ejectuarse. Esto se configura en la sección
Podemos usar VS 2008 para aplicaciones de ASP.NET AJAX 3.5, y usar el soporte multitargeting para construir aplicaciones web ASP.NET 2.0 que usen ASP.NET AJAX 1.0. Veremos cómo hacer esto en las siguientes secciones.
Hace unos días publicamos la Beta 2 en la web, descubrimos un problemilla con ASP.NET AJAX. Si leeis el post original VS 2008 and .NET 3.5 Beta Released, recordaréis que comenté un parche para instalar y resolver el problema:
Debemos descargar y ejecutar este archivo batch. Sólo tarda unos pocos
segundos en ejecutarse y arregla un problema que hemos encontrado hace una
semana con la política de versiones de System.Web.Extension.dll – que es el
assembly que contiene a ASP.NET AJAX. Si no ejecutamos este archivo, entonces
los proyectos de ASP.NET 2.0 creados con ASP.NET AJAX 1.0 y VS 2005 usará la
versión que viene en la Beta 2 de .NET 3.5. Esto funcionará bien - pero
introduciremos una dependencia con .NET 3.5 en aplicaciones que creemos con VS
2005. La ejecución del archivo Batch la política de enlazado del assembly
System.Web.Extensions.dll y nos aseguraremos que sólo usaremos la versión
nueva de .NET 3.5 en los proyectos en los que usemos explícitamente .NET
3.5
El primer síntoma es que VS 2008 detecta una versión incorrecta de ASP.NET AJAX cuando abrimos proyectos de ASP.NET 2.0 (en concreto puede hacer que VS 2008 piense que en realidad se está usando .NET 3.5). Esto hace necesario un par de pasos adicionales cuando abramos con la Beta2 por primera vez un proyecto con ASP.NET AJAX 1.0. No tendremos que hacer estos pasos con la release final de VS 2008.
Actualizar aplicaciones ASP.NET AJAX 1.0 para usar ASP.NET AJAX 3.5
Cuando usemos VS 2008 para abrir una aplicacion existente de ASP.NET 2.0 que usa ASP.NET AJAX 1.0, podemos elegir si queremos actualizar la aplicación para que use .NET 3.5 (y la versión de ASP.NET AJAX que incluye).
El equipo de herramientas web de Visual Studio ha publicado el post Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5 que nos describe las instrucciones para conseguir usar VS 2008 Beta 2. Las buenas noticias es que esa actualización NO requiere ningún cambio en nuestro código, y sólo tardará unos minutos en terminar.
Como parte de la actualización de ASP.NET AJAX 1.0 a .NET 3.5, querremos actualizar los controles de la librería de ASP.NET AJAX que estemos usando. El equipo de ASP.NET AJAX Control Toolkit está publicando versiones tanto para ASP.NET AJAX 1.0 y .NET 3.5 que podemos descargar aquí:
El post Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5 también describe cómo añadir esta versión ASP.NET AJAX 3.5 del AJAX Control Toolkit en la barra de herramientas de VS 2008
Usando VS 2008 para construir aplicaiones ASP.NET AJAX 1.0 (con Multi-Targeting).
Cuando usamos VS 2008 para abrir aplicaiones de ASP.NET 2.0 que usen ASP.NET AJAX 1.0 podemos elegir no actualizarlo a la versión .NET 3.5, y usar el multi-targeting de VS 2008 para construirla con ASP.NET 2.0 y ASP.NET AJAX 1.0
El equipo de herramientas web de VS ha publicado el post Using VS 2008 to Target ASP.NET AJAX 1.0 que describe cómo hacer esto.
En ese post hay una serie de pasos manuales que tendremos que hacer en la Beta2 para tener en la barra de herramientas tanto las herramientas de ASP.NET AJAX 1.0 como los controles de ASP.NET AJAX Control Toolkit. Para la versión final de VS 2008 pondremos un paquete de instalación para hacer esto automáticamente, y añadiremos templates tanto de items como de proyectos para ASP.NET AJAX 1.0.
Os estaréis preguntado – ¿Porque usar VS 2008 para hacer aplicaciones con ASP.NET AJAX 1.0 en vez de VS 2005?. Las ventajas son que podremos aprovechar las nuevas características de VS 2008 como el intellisense de JavaScript, debugging de javaScript, mejor diseñador WYSISWYG, administración de CSS, las mejoras del editor de código, test unitarios en VS Professional, integración con TFS, y más.
Resumen
.NET 3.5 incluye soporte para todas las características de ASP.NET AJAX 1.0. Escribiré algunos post más adelante sobre cómo aprovecharlas.
Podemos usar VS 2008 tanto para crear proyectos con .NET 3.5 como para versiones anteriores del framework. El equipo de herramientas web de VS ha publicado algunos post sobre cómo hacer esto paso por paso.
Espero que sirva.
Abrir Popup con JavaScript
La dirección de la ventana y el nombre no creo que necesiten mas explicación; sin embargo los atributos sí a continuación los explicamos:
- fullscreen: Hace que la ventana se abra en toda la pantalla
- toolbar: Hace que la ventana se abra con o sin barra de herramientas
- location: Hace que la ventana se abra con o sin barra de direcciones
- status: Hace que la ventana se abra con o sin barra de estado
- menubar: Hace que la ventana se abra con o sin barra de menú
- scrollbars: Hace que la ventana presente o no las barras de desplazamiento
- resizable: Si la ventana puede cambiar de tamaño o no
- width: El ancho de la ventana
- height: El alto de la ventana
- top: La posición vertical de la ventana
- left: La posición horizontal de la ventana
Estos atributos recibirán como valor 1 para que estén activos, o 0 para que no. Además de estos atributos, esta función también tiene otros que no se han puesto por no considerarlos demasiado importantes como channelmode, alwaisraised o dependent. Esta función aunque esta muy especializada es algo complicada para lo sencillo que es el método open().Así la podrías poner tú directamente.
Por ejemplo:
open("tuarchivo.htm","Juan","toolbar=0");
Para hacer que abra la página en cuanto el usuario entre; seria:
En el Head:
Desplazarse con ENTER en asp.net
Como evitar Sys no Esta definido
<;assemblies>;
<;add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">;
<;/assemblies>;
<;httphandlers>;
<;remove path="*.asmx" verb="*">;
<;add path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" verb="*" validate="false">;
<;add path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" verb="*" validate="false">;
<;add path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" verb="GET,HEAD" validate="false">;
<;/httphandlers>;
<;pages>;
<;controls>;
<;add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI" tagprefix="asp">;
<;/controls>;
<;/pages>;
Leer la conectionstring del web.config desde un proyecto asociado
Premisa: Tenemos una solución compuesta por un proyecto del tipo Sitio web y un proyecto del tipo Biblioteca de clases en donde estamos construyendo nuestra capa de datos y que hemos llamado DAL.
Queremos, desde la DAL, recuperar la conectionstring que está almacenada en el web.config del proyecto Sitio Web.
Solución:
- Añadir las referencias del tipo .NET: System.Web y System.Configuration
- Añadir los using, que sí son duplicados pero nos simplifican la sintaxis del código. using System.Web; using System.Configuration;
- Invocar a la cadena de conexión en el web.config con el siguiente método (o la variación que se te ocurra. ///
/// Devuelve la cadena de conexion a la base de datos
///
///
public string cadenaConexion()
{
string retValue = string.Empty; retValue= System.Web.Configuration.WebConfigurationManager.ConnectionStrings ["pruebaConnectionStringSQL"].ConnectionString;
return retValue;
}