martes, noviembre 28, 2006

Imprimir Hojas de Calculo desde .NET

Imports Microsoft.Office.Interop.Excel

Public Class ImprimirExcel

Shared Function Imprimir(ByVal Direccion As String) As Boolean
Try
Dim xlsApp As New Microsoft.Office.Interop.Excel.Application
xlsApp.Workbooks.Open(Direccion)
Dim IE As System.Collections.IEnumerator
IE = xlsApp.Workbooks.GetEnumerator()
While IE.MoveNext
CType(IE.Current, Microsoft.Office.Interop.Excel.Workbook).PrintOut()
End While
Return True
Catch ex As Exception
Return False
End Try
End Function

End Class

IEnumerator (Interfaz)

IEnumerator es la interfaz base para todos los enumeradores no genéricos.

Para obtener la versión genérica de esta interfaz, vea IEnumerator.

La instrucción foreach del lenguaje C# (for each en Visual Basic) oculta la complejidad de los enumeradores. Por tanto, se recomienda el uso de foreach en lugar de manipular directamente el enumerador.

Los enumeradores se pueden utilizar para leer los datos de la colección, pero no para modificar la colección subyacente.

Inicialmente, el enumerador se coloca delante del primer elemento de la colección. El método Reset también devuelve el enumerador a esta posición. En esta posición, una llamada a la propiedad Current produce una excepción. Por lo tanto, se debe llamar al método MoveNext para desplazar el enumerador hasta el primer elemento de la colección antes de leer el valor de Current.

Current devuelve el mismo objeto hasta que se llama a MoveNext o a Reset. MoveNext establece el valor de Current en el siguiente elemento.

Si MoveNext pasa el final de la colección, el enumerador se coloca detrás del último elemento de la colección y MoveNext devuelve el valor false. Cuando el enumerador está en esta posición, las llamadas posteriores al método MoveNext también devuelven el valor false. Si la última llamada al método MoveNext ha devuelto false y se realiza una llamada a la propiedad Current, se produce una excepción. Para volver a establecer el valor de Current en el primer elemento de la colección, se puede llamar primero al método Reset y después al método MoveNext.

Mientras no se modifique la colección, el enumerador continúa siendo válido. Si se realizan cambios en la colección, como agregar, modificar o eliminar elementos, el enumerador se invalida definitivamente y la siguiente llamada a MoveNext o a Reset produce una excepción InvalidOperationException. Si la colección se modifica entre MoveNext y Current, Current devuelve el elemento en el que está establecido, aunque el enumerador ya haya quedado invalidado.

El enumerador no tiene acceso exclusivo a la colección; por lo tanto, la enumeración a través de una colección es un procedimiento que, en esencia, no es seguro para la ejecución de subprocesos. Aunque una colección esté sincronizada, otros subprocesos pueden seguir modificándola, por lo que el enumerador produce una excepción. Con el fin de garantizar la seguridad para la ejecución de subprocesos durante la enumeración, se puede bloquear la colección durante toda la enumeración o detectar las excepciones debidas a cambios efectuados por otros subprocesos.

viernes, noviembre 17, 2006

Reportes .NET con Crystal Reports

Por Mauro Sant'Anna

Visual Studio .NET incluye Crystal Reports como un mecanismo "oficial" de creación de reportes. Crystal Reports es un producto muy desarrollado y complejo para la creación de reportes, y cuenta con una infinidad de opciones. En este artículo, nos vamos a concentrar en crear reportes relativamente sencillos, pero mostrando los detalles específicos de la versión .NET, tanto en aplicaciones WinForms como en aplicaciones WebForms (ASP.NET). Este artículo considera que usted ya posee alguna familiaridad con Visual Studio .NET y también con ADO.NET.
Crear un reporte

Independientemente de cómo se hará la presentación, el reporte se define en un archivo ".RPT", que forma parte de su proyecto. Ese archivo especifica el modo en que se hará la presentación del reporte, pero no incluye los datos propiamente dichos. Los datos se definirán en el tiempo de ejecución.

Crystal Reports se basa en un concepto muy común de la definición de reportes: los reportes se componen de "secciones", y cada sección es un espacio horizontal en la página. Existen diversos tipos de secciones, por ejemplo:

* Encabezado del reporte, aparece en la primera página.
* Encabezado de página, aparece en la parte superior de todas las páginas.
* Detalle: lo más importante. En el tiempo de ejecución, se genera una de estas secciones para cada línea (registro) en la base de datos.
* Pie de página, aparece en la parte inferior de todas las páginas.
* Pie de reporte, aparece al final del reporte.

En un principio, todos los reportes presentan estas cinco secciones. Otras secciones son opcionales, como por ejemplo:

* Encabezado de grupo, aparece antes de un grupo.
* Pie de grupo, aparece al final del grupo.

Se podrá omitir una o más secciones, en caso de que no sean necesarias.

martes, noviembre 14, 2006

dce

miércoles, octubre 25, 2006

Firefox 2.0 listo para descarga

La Fundación Mozilla lanza la nueva versión del navegador Firefox 2.0, apenas una semana después de que Microsoft pusiese a disposición de los usuarios el Internet Explorer 7.



Pascal Chevrel, secretario general de Mozilla Europe, ha explicado en una entrevista digital con los lectores de ELPAIS.es que, además de las nuevas mejoras, “lo más importante es mejorar la experiencia online del internauta”.

Entre las mejoras que incluye el navegador, se encuentran: corrector ortográfico integrado, gestión de sesiones, tecnología antifraude
(el antiphisig) a las ya existentes contra programas espias, virus y ventanas emergentes.etc.

“Somos mucho mas transparente a nivel de comunicación (también documentamos los fallos descubiertos por nuestros propios equipos por ejemplo) y por otra parte corregimos los fallos mucho más rápidamente que nuestros competidores, por lo tanto el tiempo de inseguridad antes de que saquemos un parche está muy reducido”, declaró el secretario general.

El navegador, software libre, ha sido desarrollada por más de un millón de personas que participan de alguna manera en las mejoras de este 'software', bien a través de su propio trabajo o bien mediante sugerencias a partir de las versiones beta, según la Fundación.



Video promocional del navegador Firefox




Un dolor de cabeza para Internet Explorer
El Firefox, basado en el histórico Netscape, se ha convertido en pocos años en la alternativa de Internet Explorer, aunque Microsoft ha contraatacado con sus mismas armas. Una de las características más populares del buscador, que es la navegación por pestañas, viene incluida en el nuevo Inernet Explorer 7, que ha salido a luz despues de 5 años sin mejoras.

Algo que llama poderosamente la atención es que mientras que IE 7 está disponible de momento sólo en inglés, Firefox se podrá asomar a las pantallas de los ordenadores de todo el mundo en 37 idiomas, entre ellos el español, el catalán o el vasco.


La diferencia fundamental entre Firefox y Explorer, según Chevrel, radica en que “tenemos decenas de miles de contribuidores en el mundo que participan a su mejora”, lo que permite que el nuevo navegador de Mozilla salga simultáneamente en 37 idiomas (entre ellos el catalán y el euskera). “No tendréis que esperar 5 años para ver Firefox 3”, ha señalado Chevrel, en referencia a la tardanza de Microsoft en sacar su última versión del navegador Explorer.

Según un estudio de JupiterResearch, el 44% de las empresas estadounidenses de más de 250 empleados permiten a sus asalariados descargarse el navegador, por ejemplo. La propia Fundación Mozilla estima que que entre 70 y 80 millones de personas utilizan su navegador, y es descargado una media de 350.000 veces al día.


El Internet Explorer es el navegador más utilizado con una cuota de mercado de casi el 86%. En cambio Firefox se mantiene aún lejos con un 11%, aunque su crecimiento estos últimos años ha sido importante pese a haber retrocedido ligeramente en agosto, según datos de Onestat. La primera versión de Firefox fue lanzada en noviembre de 2004.




VSTO v3

Por primera vez se publica una versión preliminar de VSTO v3.
Esta versión de VSTO funciona con Office 2007 Beta 1 Technical Refresh.
VSTO v3 proporciona soporte para la integración de código .NET con la nueva versión de Office 2007.
Entre las características más destacables estan:

  • Soporte para el nuevo formato de fichero Office Open XML
  • Soporte para el nuevo modelo de UI (Ribbon) de Office 2007
  • Proyectos de Addins para Microsoft Access 2007, Microsoft Excel 2007, Microsoft SharePoint Designer 2007, Microsoft InfoPath 2007, Microsoft Outlook 2007, Microsoft PowerPoint 2007, Microsoft Project 2007, Microsoft Publisher 2007, Microsoft Visio 2007, and Microsoft Word 2007
  • Soporte para los nuevos Taskpane

Enlace a la página de descarga de VSTO v3.

miércoles, octubre 18, 2006

Seguridad ASP.NET

Las aplicaciones Web ASP.NET versión 2.0 configuradas para la autenticación de formularios utilizan un vale de autenticación que se transmite entre el servidor Web y el explorador en una cookie o en una cadena de consulta URL. El vale de autenticación se genera cuando el usuario inicia sesión por primera vez y se utiliza en ocasiones posteriores para representar al usuario autenticado. Contiene un identificador de usuario y, con frecuencia, el conjunto de las funciones a las que pertenece el usuario. El explorador transmite al servidor Web el vale de autenticación en todas las solicitudes posteriores que forman parte de la misma sesión. Además del almacén de identidades de usuario, también debe proteger este vale para no poner en peligro el mecanismo de autenticación.

No proteger debidamente la autenticación de formularios es una vulnerabilidad habitual que puede traducirse en:

Elevación de privilegios: un intruso puede elevar los privilegios de su aplicación actualizando el nombre de usuario o la lista de funciones contenida en el vale y enviando a continuación la información actualizada al servidor. Un intruso capaz de insertar código malintencionado en su aplicación (en una nueva página ASPX, por ejemplo), también será capaz de crear y modificar los vales de autenticación de formularios

Secuestro de sesión: puede ocurrir que un intruso se haga con el vale de autenticación de otro usuario y lo utilice para obtener acceso a su aplicación. Esto puede suceder de varias maneras:

Como consecuencia de una vulnerabilidad de secuencias de comandos entre sitios.

Si el transporte no se protege mediante un mecanismo de seguridad como Secure Sockets Layer (SSL).

Si el vale se almacena en la caché del explorador.

Utilización de la sesión después de cerrarla: incluso después de que el usuario haya cerrado la sesión de la aplicación y el desarrollador haya llamado a FormsAuthentication.SignOut, el vale de autenticación sigue siendo válido hasta que caduca su tiempo de vida (TTL), de manera que cabe la posibilidad de que un intruso lo utilice para suplantar la identidad de otro usuario.

Interceptación: puede ocurrir que un intruso mire el contenido de un vale de autenticación para obtener información confidencial y utilizar esta información para poner en peligro la aplicación.

Exposición del almacén de identidades de usuario: un intruso con acceso al almacén de identidades de usuario puede obtener acceso a los nombres de usuario y contraseñas, directamente desde el almacén de datos o mediante un ataque de inyección SQL.

Para proteger el sistema de estas amenazas, la autenticación de formularios en ASP.NET ofrece las contramedidas siguientes:

Algoritmos hash MAC (HMAC): utilizan SHA1 o MD5 para proporcionar protección frente a posibles alteraciones. Cualquier cambio realizado en el vale de autenticación se detecta en el servidor y se genera una excepción si se ha modificado.

Cifrado: el cifrado convierte los datos de texto sin cifrar contenidos en el vale de autenticación de formularios en texto cifrado ilegible. ASP.NET versión 2.0 utiliza el cifrado simétrico AES para impedir que cualquiera pueda ver el contenido del vale de autenticación de formularios.

Restricción de la duración de la sesión: puede aplicar restricciones de la duración para reducir la ventana de tiempo durante la cual un intruso puede suplantar la identidad de otro usuario utilizando para ello el vale de autenticación de éste.

Transmisión obligatoria a través de HTTPS: puede impedir que los vales de autenticación se transmitan a través de conexiones HTTP. Esto impide que un intruso pueda ver o modificar el contenido del vale de autenticación mientras éste atraviesa la red.

miércoles, septiembre 13, 2006


GoogleMaps.Subgurim.NET es el control de GoogleMaps más avanzado para ASP.NET 2.0.

Con todo el poder de la API oficial de GoogleMaps pero sin necesidad de una sola línea de código BLOCKED SCRIPT todo ASP.NET!!
Con solo arrastrar con el ratón, y unas pocas líneas de código, podrás programar potentes aplicaciones con mapas de Google!!

12 razones para usar Internet Explorer

1ª - La letra “e”, es un símbolo de modernidad, un homenaje a nuestra vieja y culta Europa, una “e” de esperanza…

2ª - Es fácil de usar, al no tener navegación por pestañas, te puedes concentrar más en una sola página, navegarás menos pero…absorberás más conocimientos.

3ª - No requiere instalación, en el 90 % de los casos vendrá con tu flamante nuevo equipo, nada de complicadas instalaciones, horas de descarga de otros navegadores que vete tu a saber que oscuros misterios esconderán… (ahora bien, te las vas a ver para desinstalarlo)

4ª - Serás un buen ciudadano, podrás entrar a todo tipo de páginas de organismos y estamentos oficiales, no sentirás el “vacio administrativo” de una página que respeta los estándares y dice que tu Konqueror es un señor muy malo…

5ª - Tus capacidades de búsqueda se ampliarán, verás crecer y crecer las barras que se te instalarán de buenos señores que querrán que amplíes horizontes y se abrirán muchas bellas ventanas emergentes de gente que se preocupa por el tamaño de tu pene…

6ª - Te harás un experto en seguridad informática, no habrá Spyware que se te resista, tu página de inicio será secuestrada tantas veces que te harás un experto en rescates…

7ª - Un seg que estoy pensando más…

8ª - La banca electrónica no tendrá secretos para ti, aprenderás lo que es el Phising plácidamente mientras miras la bonita suma que te cargó El Corte Inglés a fin de mes en tu tarjeta de buen ciudadano.

9ª - No estarás pendiente de engorrosas actualizaciones, serás libre, gracias a su código cerrado no serás incomodado en la calma de tu espacio digital, ojos que no ven, tiempo perdido que no se siente…

10ª- Te sentirás comprendido, es más fácil, más plástico, decir “uso Explorer” que “uso Fairfos”, no sentirás el rechazo social, eres parte de algo, algo grande, el espíritu de Gates, todo un símbolo de la concordia en este mundo te acompañará…

11ª- Tus hijos crecerán en un entorno feliz, todo tiene lógica, desde la base de la familia, Windows, pasando por sus descendientes tan cercanos, tan nuestros. Imagínate, tu bebé mandando mails con Outlook Express “nene, deja eso del Thunderbird, caca“, gestionando su futuro Master con Microsoft Office, hablando con sus amigos por el Messenger (”el aMSN es de niños malos !”)…el sueño Americano será el tuyo.

12ª- La más importante, Internet Explorer es como el ColaCao, siempre ha estado ahí, cuando de pequeños nos dieron Nesquik, llegó el fracaso escolar, si mi mamá no me hubiera hecho pasar por ese trance, hoy en día sería un Blogger admirado pero…que se puede esperar de un pobre chaval que no pasó de 2º de BUP…

jueves, septiembre 07, 2006

System.Resources (Espacio de nombres)

El espacio de nombres System.Resources proporciona clases e interfaces que permiten a los programadores crear, almacenar y administrar diversos recursos específicos de las referencias culturales que se utilizan en las aplicaciones. Una de las clases más importantes del espacio de nombres System.Resources es la clase ResourceManager.

La clase ResourceManager permite el acceso y el control, por parte del usuario, de los recursos almacenados en el ensamblado principal o en ensamblados satélites de recursos. Utilice los métodos System.Resources.ResourceManager.GetObject y System.Resources.ResourceManager.GetString para recuperar objetos y cadenas específicos de las referencias culturales.


Clases

Clase

Descripción

MissingManifestResourceException

Excepción que se produce si el ensamblado principal no contiene los recursos de la referencia cultural neutral. Éstos son necesarios debido a la pérdida de un ensamblado satélite apropiado.

MissingSatelliteAssemblyException

La excepción que se produce cuando no existe el ensamblado satélite para los recursos de la referencia cultural neutra.

NeutralResourcesLanguageAttribute

Informa a ResourceManager de la referencia cultural neutral de un ensamblado. No se puede heredar esta clase.

ResourceManager

Proporciona un acceso cómodo a los recursos específicos de cada referencia cultural en tiempo de ejecución.

ResourceReader

Enumera las secuencias y archivos ".resources", y lee los pares secuenciales nombre-valor de los recursos.

ResourceSet

Almacena todos los recursos adaptados a una referencia cultural determinada, pasando por alto otras referencias culturales, incluidas las reglas de reserva.

ResourceWriter

Escribe recursos en el formato predeterminado del sistema para un archivo de resultados o una secuencia de salida. Esta clase no se puede heredar.

ResXDataNode

Representa un elemento en un archivo de recursos.

ResXFileRef

Representa un vínculo a un recurso externo.

ResXFileRef.Converter

Proporciona un convertidor de tipos para convertir datos de ResXFileRef en una cadena y desde una cadena.

ResXResourceReader

Enumera las secuencias y archivos de recursos XML (.resx) y lee los pares secuenciales nombre-valor de los recursos.

ResXResourceSet

Recopila todos los elementos que representa un archivo de recursos XML (.resx) en un único objeto.

ResXResourceWriter

Escribe recursos en un archivo de recursos XML (.resx) o en una secuencia de salida.

SatelliteContractVersionAttribute

Indica a ResourceManager que pida una versión en particular de un ensamblado satélite para simplificar las actualizaciones del ensamblado principal de una aplicación.

Interfaces

Interfaz

Descripción

IResourceReader

Proporciona la funcionalidad básica para leer datos de los archivos de recursos.

IResourceWriter

Proporciona la funcionalidad para escribir los recursos en un archivo o secuencia de salida.

Enumeraciones

Enumeración

Descripción

UltimateResourceFallbackLocation

Especifica el ensamblado de la clase ResourceManager que se va a utilizar para recuperar recursos neutrales utilizando Empaquetar e implementar recursos.

ResourceReader (Miembros)

Constructores públicos

Nombre

Descripción

ResourceReader

Sobrecargado. Inicializa una nueva instancia de la clase ResourceReader.

Métodos públicos

Nombre

Descripción

Close

Libera todos los recursos del sistema operativo asociados a ResourceReader.

Equals

Sobrecargado. Determina si dos instancias de ObjectObject). son iguales. (Se hereda de

GetEnumerator

Devuelve un enumerador para esta clase ResourceReader.

GetHashCode

Sirve como función hash para un tipo concreto. GetHashCode es apropiado para su utilización en algoritmos de hash y en estructuras de datos como las tablas hash. (Se hereda de Object).

GetResourceData

Recupera el nombre de tipo y el contenido de datos de un recurso con nombre a partir de un archivo de recursos o secuencia abierto.

GetType

Obtiene el objeto Type de la instancia actual. (Se hereda de Object).

ReferenceEquals

Determina si las instancias de Object especificadas son la misma instancia. (Se hereda de Object).

ToString

Devuelve una clase String que representa la clase Object actual. (Se hereda de Object).

ResourceWriter (Miembros)

Constructores públicos

Nombre

Descripción

ResourceWriter

Sobrecargado. Inicializa una nueva instancia de la clase ResourceWriter.


Métodos públicos

Nombre

Descripción

AddResource

Sobrecargado. Agrega un recurso a la lista de recursos que se va a escribir.

AddResourceData

Agrega una unidad de datos como un recurso a la lista de recursos que se va a escribir.

Close

Guarda los recursos en la secuencia de salida y, a continuación, la cierra.

Dispose

Permite a los usuarios cerrar el archivo o secuencia de recursos y liberar los recursos de forma explícita.

Equals

Sobrecargado. Determina si dos instancias de ObjectObject). son iguales. (Se hereda de

Generate

Guarda todos los recursos en la secuencia de salida con el formato predeterminado del sistema.

GetHashCode

Sirve como función hash para un tipo concreto. GetHashCode es apropiado para su utilización en algoritmos de hash y en estructuras de datos como las tablas hash. (Se hereda de Object).

GetType

Obtiene el objeto Type de la instancia actual. (Se hereda de Object).

ReferenceEquals

Determina si las instancias de Object especificadas son la misma instancia. (Se hereda de Object).

ToString

Devuelve una clase String que representa la clase Object actual. (Se hereda de Object).

jueves, agosto 31, 2006

Llenando un ListView en VB.NET



Imports System.Data.SqlClient

Public Class frmCliente

Dim cn As New SqlConnection
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Dim cmd As New SqlCommand

Private Sub frmCliente_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

cn = New SqlConnection("data source = servidor; initial catalog = Northwind; User Id = sa; Password = password")
cmd = New SqlCommand("SELECT * FROM Customers", cn)
da = New SqlDataAdapter
da.SelectCommand = cmd
cn.Open()
da.Fill(ds, "Customers")
cn.Close()
MostrarClientes()

End Sub

Private Sub MostrarClientes()
Dim objListItem As New ListViewItem
Me.ClientesListView.Items.Clear()

For Each drw As DataRow In ds.Tables("Customers").Rows
objListItem = ClientesListView.Items.Add(drw.Item("CompanyName").ToString, 0)
objListItem.SubItems.Add(drw.Item("ContactName").ToString)
objListItem.SubItems.Add(drw.Item("Phone").ToString)
objListItem.SubItems.Add(drw.Item("Region").ToString)
Next

End Sub
End Class

martes, agosto 29, 2006

Cómo... saber cuando usar Protected, Private, etc.

Estos modificadores de declaraciones de clases, métodos, propiedades y variables, se usarán cuando queramos modificar el "alcance" de visibilidad de dichos miembros.

Private:
Un miembro declarado como Privado, sólo es accesible en la clase en la que se ha declarado.

Protected:
Un miembro declarado como Protected es accesible en la clase en la que se ha declarado y en las que deriven de ella.

Friend:
Un miembro declarado como Friend es visible en:
- la clase en la que se ha declarado,
- el Namespace en el que está dicha clase,
- en el mismo programa en el que está la declaración; por ejemplo, si se compilan varios ficheros con distintos Namespaces en un mismo programa (ejecutable o componente).

Protected Friend:
Idem que Friend, además de ser visible en las clases derivadas.

Public:
Visible por todo el mundo.

jueves, agosto 24, 2006

Un "firefox" de verdad




miércoles, agosto 23, 2006

Funciones basicas de SQL

SELECT

Este comando se utiliza para leer datos de una o más tablas.
Sintaxis

SELECT [campo1], [campo2], …
FROM [tabla1]
WHERE [campo1]='valor buscado'

Por ejemplo si quisiera ver la fila 'Nombre' de mi Tabla 'Clientes' escribiría:

SELECT nombre FROM Clientes

Y si quisiera ver toda la información de mis clientes de Apellido: 'Pérez' escribiría:

SELECT * FROM Clientes WHERE Apellido='Pérez'

Noten que para ver todos los campos usé un asterisco (*) y que el valor de texto que busco está entre comillas simples (') para definirlo como una cadena de caracteres

INSERT

Insertar una fila en una tabla
Sintaxis:

INSERT [Tabla] ( [Campo1], [Campo2], …)
VALUES ('Valor1','Valor2',…)

Ejemplo: Insertar un Nuevo Cliente

INSERT Clientes (nombre, apellido)
VALUES ('Facundo', 'Dhers')
UPDATE (actualizar)

Actualiza la información de un campo en una o muchas filas
Sintaxis

UPDATE [Tabla]
SET [campo1]='Nuevo Valor'
WHERE [Campo1]='Viejo Valor'

Ejemplo si quisiera actualizar en mi tabla Productos, el campo Precio a '$1,5' de la 'Bebida de Cola'

UPDATE productos
SET Precio=1,5
WHERE NombreProducto='Bebida de Cola'
DELETE (Borrar)

Elimina una o muchas filas
Sintaxis

DELETE [tabla1]
WHERE campo1='Valor'

Ejemplo quiero sacar todas las bebidas Cola de mi tabla Productos

DELETE Productos
WHERE NombreProducto='Bebida de Cola'
Tengan en cuenta que la expresión WHERE acepta los operadores OR y AND que dan mucha precisión a las consultas (o Queries)

Motor de Base de Datos


El Motor de base de datos es el programa que maneja los archivos de la base de datos, el acceso a las Tablas (y relaciones), puede permitir tener seguridad, o bloquear una fila que está siendo modificada, para que nadie más la modifique, entre otras cosas.

A su vez todos los motores tienen un cliente, este programa debe estar en la PC que intentará acceder a los datos de mis tablas (excepto que lo estén accediendo a través de una página Web donde el cliente deberá estar instalado en el Server donde esté la página)
El lenguaje
Ahora que ya sabemos aunque sea un poco de Base de datos, ustedes se estarán preguntando como hacemos para leer los datos de nuestra Base. Bueno resulta que existe un lenguaje conocido como Transac (o SQL Transac) que "en general" es común para todos los motores de bases de datos.

Este lenguaje cuenta principalmente con 4 comando fundamentales.
• SELECT
• INSERT
• UPDATE
• DELETE

ASP.NET

ASP.NET es un marco de trabajo de programación generado en Common Language Runtime que puede utilizarse en un servidor para generar eficaces aplicaciones Web. ASP.NET ofrece varias ventajas importantes acerca de los modelos de programación Web anteriores:

* Mejor rendimiento. ASP.NET es un código de Common Language Runtime compilado que se ejecuta en el servidor. A diferencia de sus predecesores, ASP.NET puede aprovechar las ventajas del enlace anticipado, la compilación just-in-time, la optimización nativa y los servicios de caché desde el primer momento. Esto supone un incremento espectacular del rendimiento antes de siquiera escribir una línea de código.

* Compatibilidad con herramientas de primer nivel. El marco de trabajo de ASP.NET se complementa con un diseñador y una caja de herramientas muy completos en el entorno integrado de programación (Integrated Development Environment, IDE) de Visual Studio. La edición WYSIWYG, los controles de servidor de arrastrar y colocar y la implementación automática son sólo algunas de las características que proporciona esta eficaz herramienta.

* Eficacia y flexibilidad. Debido a que ASP.NET se basa en Common Language Runtime, la eficacia y la flexibilidad de toda esa plataforma se encuentra disponible para los programadores de aplicaciones Web. La biblioteca de clases de .NET Framework, la Mensajería y las soluciones de Acceso a datos se encuentran accesibles desde el Web de manera uniforme. ASP.NET es también independiente del lenguaje, por lo que puede elegir el lenguaje que mejor se adapte a la aplicación o dividir la aplicación en varios lenguajes. Además, la interoperabilidad de Common Language Runtime garantiza que la inversión existente en programación basada en COM se conserva al migrar a ASP.NET.

* Simplicidad. ASP.NET facilita la realización de tareas comunes, desde el sencillo envío de formularios y la autenticación del cliente hasta la implementación y la configuración de sitios. Por ejemplo, el marco de trabajo de página de ASP.NET permite generar interfaces de usuario, que separan claramente la lógica de aplicación del código de presentación, y controlar eventos en un sencillo modelo de procesamiento de formularios de tipo Visual Basic. Además, Common Language Runtime simplifica la programación, con servicios de código administrado como el recuento de referencia automático y el recolector de elementos no utilizados.

* Facilidad de uso. ASP.NET emplea un sistema de configuración jerárquico, basado en texto, que simplifica la aplicación de la configuración al entorno de servidor y las aplicaciones Web. Debido a que la información de configuración se almacena como texto sin formato, se puede aplicar la nueva configuración sin la ayuda de herramientas de administración local. Esta filosofía de "administración local cero" se extiende asimismo a la implementación de las aplicaciones ASP.NET Framework. Una aplicación ASP.NET Framework se implementa en un servidor sencillamente mediante la copia de los archivos necesarios al servidor. No se requiere el reinicio del servidor, ni siquiera para implementar o reemplazar el código compilado en ejecución.

* Escalabilidad y disponibilidad. ASP.NET se ha diseñado teniendo en cuenta la escalabilidad, con características diseñadas específicamente a medida, con el fin de mejorar el rendimiento en entornos agrupados y de múltiples procesadores. Además, el motor de tiempo de ejecución de ASP.NET controla y administra los procesos de cerca, por lo que si uno no se comporta adecuadamente (filtraciones, bloqueos), se puede crear un proceso nuevo en su lugar, lo que ayuda a mantener la aplicación disponible constantemente para controlar solicitudes.

* Posibilidad de personalización y extensibilidad. ASP.NET presenta una arquitectura bien diseñada que permite a los programadores insertar su código en el nivel adecuado. De hecho, es posible extender o reemplazar cualquier subcomponente del motor de tiempo de ejecución de ASP.NET con su propio componente escrito personalizado. La implementación de la autenticación personalizada o de los servicios de estado nunca ha sido más fácil.

* Seguridad. Con la autenticación de Windows integrada y la configuración por aplicación, se puede tener la completa seguridad de que las aplicaciones están a salvo.

Microsoft devela las novedades de SQL Server 2005


Microsoft ha desvelado algunas de las novedades más importantes que incluirá en SQL Server 2005, la nueva revisión de su conocida base de datos.

Como aspectos interesantes cabe destacar la total integración con Microsoft Visual Studio 2005 (que permite el desarrollo de aplicaciones específicas para la empresa), así como la seguridad de la plataforma, alta disponibilidad y escalabilidad.
Pero entre todas las novedades probablemente la que más destaque sea la inclusión de una nueva edición intermedia situada en la parte media/baja del catálogo global (entre la versión Standard y la gratuita Express). Esta nueva edición (denominada Workgroup), es especialmente interesante en nuestro país, ya que tiene como objetivo el mercado de la pequeña y mediana empresa.

Aparte de incluir la ya tradicional funcionalidad y rendimiento de SQL Server, la edición Workgroup podrá ser instalada en servidores de hasta 2 procesadores y 3 GB de RAM, sin tener límite alguno de tamaño para las bases de datos que almacene.
De hecho, según revelan los últimos resultados Benchmark obtenidos bajo la herramienta TCP-C, SQL Server Workgroup ha obtenido el rendimiento más elevado en su categoría, lo que habla bastante bien de la capacidad de proceso. Los precios estimados de esta versión son de 5.000$ (por servidor) y de 1.000$ (servidor + 5 usuarios).

Otra de las noticias (en este caso por no modificar su política) es la que se refiere a las licencias para los nuevos procesadores que integren la nueva tecnología Dual Core (anunciados por Intel y AMD), ya que según anuncia Microsoft seguirá siendo necesaria una única licencia por procesador real (independientemente del número de cores que integre), lo que hará de SQL Server una opción mucho más interesante atendiendo al binomio rendimiento/precio.

Microsoft tiene previsto publicar la Beta 3 de SQL Server 2005 a lo largo del presente trimestre y la versión definitiva para finales de este año, coincidiendo con el lanzamiento de Visual Studio 2005. Actualmente está disponible la tercera Cummunity Technology Preview (CTP), predecesora de cada versión Beta y que ofrece a los desarrolladores de bases de datos la posibilidad de experimentar con el producto antes de que se complete la fase con la publicación definitiva.

Por otra parte, Dell ha anunciado que ofrecerá versiones Standard y Workgroup presintaladas con en sus servidores PowerEdge.