Obtener información de una base de datos de SQL Server 2005 por medio de la vista "Information Schema"


En algunas circunstancias nos puede ser util obtener información acerca de la estructura de una base de datos, ya sea para crear un reporte o para la metaprogramación.

Este query que les dejo, obtiene de una forma sencilla, la información de cada de uno de los campos pertenecientes a ccada una de las tablas de una base de datos

SELECT INFORMATION_SCHEMA.COLUMNS.TABLE_NAME,
INFORMATION_SCHEMA.COLUMNS.COLUMN_NAME,
INFORMATION_SCHEMA.COLUMNS.IS_NULLABLE,
INFORMATION_SCHEMA.COLUMNS.CHARACTER_MAXIMUM_LENGTH,
INFORMATION_SCHEMA.COLUMNS.NUMERIC_PRECISION,
INFORMATION_SCHEMA.COLUMNS.NUMERIC_SCALE,
INFORMATION_SCHEMA.COLUMNS.DATA_TYPE

FROM INFORMATION_SCHEMA.COLUMNS

WHERE (NOT (INFORMATION_SCHEMA.COLUMNS.TABLE_SCHEMA = 'db_owner')) AND
(NOT (INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = N'sysdiagrams')) AND
(NOT (INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = N'dtproperties'))

ORDER BY INFORMATION_SCHEMA.COLUMNS.TABLE_NAME


Carlos

Hojas de Calculo en .NET


Para interactuar con aplicaciones de Office desde .NET, lo primero que hay que conseguir son las librerias de interoperabilidad correcpondientes a la version con la que se vaya a trabajar desde este link se puede conseguir los ensamblados para la version 2003 de office

El manejo es bastante simple, a continuación dejo el código necesario para imprimir una hoja de calculo



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

Carlos

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

Carlos

Debbug de JavaScript en el Visual Studio


Visual Studio .NET 2005 por si es capaz de hacer debbug a codigo javascript, solo que por default Internet Explorer tiene bloqueda esta opcion, pero lo bueno es que es facil volver a admitirla.
Para hacer esto solo hay que seguir los siguientes pasos:

  • En opciones de internet entrar a la pestaña de avanzados.

  • Aqui debe haber una opcion con algo parecido a deshabilitar debbuging del cliente, quitas esa selección y listo.

  • Ahora ya puedes colocar breakpoints en tu proyecto web, y podras hacer debbug como si fuera un codigo VB o C# normal


Descarga en PDF de reporte de CrystalReports



Dim Reporte As New MiReporte
'Se llena con información el reporte

Dim oStream As New System.IO.MemoryStream
oStream = Reporte.ExportToStream _
(Reporte.ExportOptions.ExportFormatType.PortableDocFormat)

Response.Clear()
Response.Buffer = True
Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition", _
"attachment;filename=Archivo.pdf")
Response.BinaryWrite(oStream.ToArray())
Response.End()

Carlos

,

Sígueme en Twitter