Plantillas Crear Tabla.

Este es una plantilla para crear una tabla.

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[TableName]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
 DROP TABLE [dbo].[TableName]
GO

CREATE TABLE [dbo].[TableName] (
 ColName1  DATETIME  NOT NULL,
 ColName2  INT   NOT NULL,
 ColName3  VARCHAR(12)  NOT NULL,
 ColName4 NUMERIC(12,0)  )
GO

ALTER TABLE [dbo].[TableName]
 ADD CONSTRAINT   PK_TableName
 PRIMARY KEY  (ColName1, ColName2, ColName3)
GO

GRANT ALL
 ON [dbo].[TableName]
 TO PUBLIC

Funciones de Conversiones de Tipos de Datos VB.Net

CBool Boolean (Tipo de datos, Visual Basic)  Cualquier expresión numérica, Char o String válida.

Trabajar con Archivos en VisualBasic.Net

Esta es una liga interesante en donde se encuentran una serie de ejemplos de como trabajar con archivos.

Calendario en VisualBasic.Net

Como implementar el siguiente calendario en una pagina Aspx. 

1.- Tener los Archivos Java Scripts incluidos en el Proyecto.

2.-En la página donde se utilizara agregar en el encabezado HTML lo siguiente:

<LINK title="win2k-cold-1" media="all" href="css/calendar-win2k-cold-1.css" type="text/css" rel="stylesheet">
<script src="Includes/calendar/calendar.js" type="text/javascript"></script>
<script src="Includes/calendar/lang/calendar-es.js" type="text/javascript"></script>
<script src="Includes/calendar/calendar-setup.js" type="text/javascript"></script>

2.-Siguiendo en HTML ir al Botón y agregar el siguiente codigo.

 

<asp:textbox oncontextmenu="return false;" id="TxtFechaInicio" onkeydown="return false;" runat="server" ></asp:textbox>
<asp:button id="BtnCalendar1" runat="server" Text="..."></asp:button>
   <script type="text/javascript">    
      Calendar.setup({            
      inputField     :    "TxtFechaInicio",   
      ifFormat       :    "%d/%m/%Y",                             
      singleClick    :    true,          
      step           :    1,              
      align          :    "Br",
      button : "BtnCalendar1"
      });
   </script>

Para mas informacion: Calendar, Demo.

Formatos de Fecha en un DataGrid

Hay diversas formas de dar formato a una fecha en un DataGrid de Visual Basic.Net

{0:dd ‘de’ MMMM ‘de’ yyyy,dddd} 25 de Enero de 2008,Viernes
{0:dd/MMM/yyyy} 25-Ene-08
{0:ddd, dd MMM yyyy HH’:'mm’:’ss ‘GMT’} Vie, 25 Ene 2008 06:30:07 GMT
{0:dddd, dd MMMM yyyy h:mm tt} Viernes, 25 Enero 2008 6:30 AM
{0:dddd, dd MMMM yyyy H:mm} Viernes, 25 Enero 2008 6:30
{0:dddd, dd MMMM yyyy hh:mm tt} Viernes, 25 Enero 2008 06:30 AM
{0:dddd, dd MMMM yyyy HH:mm:ss} Viernes, 25 Enero 2008 06:30:07
{0:dddd, dd MMMM yyyy HH:mm} Viernes, 25 Enero 2008 06:30
{0:dddd, dd MMMM yyyy} Viernes, 25 Enero 2008
{0:dddd, dd MMMM yyyy H:mm} Viernes, 25 Enero 2008 0:00
{0:H:mm} 6:30
{0:HH:mm } 06:30
{0:hh:mm tt} 06:30 AM
{0:HH:mm:ss} 06:30:05
{0:MM/dd/yyyy h:mm tt} 08/25/2008 6:30 AM
{0:MM/dd/yyyy H:mm} 08/25/2008 6:30
{0:MM/dd/yyyy hh:mm tt} 08/25/2008 06:30 AM 
{0:MM/dd/yyyy HH:mm:ss} 08/25/2008 06:30:07
{0:MM/dd/yyyy HH:mm} 08/25/2008 06:30
{0:yyyy’-'MM’-'dd’T'HH’:'mm’:’ss } 2008-08-25T06:30:07 

En la propiedad Data Fotmatting Expression del Datagrid.

Cadena de Formatos de Fecha y Hora

Clase de Conexion BD

Esta clase sirve para conectarse a una Base de Datos de SQL. Es necesario agregar en las referencias del projecto las dll: System, System.Data, System.XML.

Imports System.Data
Imports System.Data.SqlClient

Public Class clsConexion

    Public Function FG_ConnectionString_Get(ByVal PP_STR_Servidor As String, ByVal PP_STR_BaseDatos As String, ByVal PP_STR_User_Id As String, ByVal PP_STR_Password As String) As String
        Dim VP_STR_ConnectionString As String

        VP_STR_ConnectionString = "Data source=" + PP_STR_Servidor + ";"
        VP_STR_ConnectionString = VP_STR_ConnectionString + "initial catalog=" + PP_STR_BaseDatos + ";"
        VP_STR_ConnectionString = VP_STR_ConnectionString + "user id=" + PP_STR_User_Id + ";"
        VP_STR_ConnectionString = VP_STR_ConnectionString + "password=" + PP_STR_Password + ""

        'Regresa el Resultado
        FG_ConnectionString_Get = VP_STR_ConnectionString
    End Function

    Public Function FG_SqlConnection_Open(ByVal VP_STR_ConnectionString As String) As SqlConnection
        Dim VP_SQL_Conexion As SqlConnection

        'Crea la conexion de la BD.
        VP_SQL_Conexion = New SqlConnection(VP_STR_ConnectionString)
        'Regresa el Resultado
        FG_SqlConnection_Open = VP_SQL_Conexion
    End Function

    Public Sub PG_SqlCommand_Init(ByRef PP_SQL_Conexion As SqlConnection, ByRef PP_SQL_Comando As SqlCommand, ByVal PP_STR_Nombre_SP As String)
        With PP_SQL_Comando
            .Connection = PP_SQL_Conexion
            .CommandText = PP_STR_Nombre_SP
            .CommandType = CommandType.StoredProcedure
            .Parameters.Clear()
        End With
        'Abre la Conexion.
        PP_SQL_Conexion.Open()
    End Sub

    Public Sub PG_Comando_Parameter_Set_Integer(ByRef PP_SQL_Comando As SqlCommand, ByVal PP_STR_Nombre_Parametro As String, ByVal PP_INT_Valor As Integer)
        'Configura un Parametro de Tipo Entero
        Dim VP_PAR_Parametro As New SqlParameter

        With VP_PAR_Parametro
            .ParameterName = (PP_STR_Nombre_Parametro)
            .SqlDbType = SqlDbType.Int
            .Value = PP_INT_Valor
        End With

        'Asigna el Parametro
        PP_SQL_Comando.Parameters.Add(VP_PAR_Parametro)
    End Sub

    Public Sub PG_Comando_Parameter_Set_Char(ByRef PP_SQL_Comando As SqlCommand, ByVal PP_STR_Nombre_Parametro As String, ByVal PP_STR_Valor As String)
        'Configura un Parametro de Tipo Char
        Dim VP_PAR_Parametro As New SqlParameter

        With VP_PAR_Parametro
            .ParameterName = (PP_STR_Nombre_Parametro)
            .SqlDbType = SqlDbType.Char
            .Value = Trim(PP_STR_Valor)
        End With

        'Asigna el Parametro
        PP_SQL_Comando.Parameters.Add(VP_PAR_Parametro)
    End Sub

    Public Sub PG_Comando_Parameter_Set_Decimal(ByRef PP_SQL_Comando As SqlCommand, ByVal PP_STR_Nombre_Parametro As String, ByVal PP_DEC_Valor As Decimal)
        'Configura un Parametro de Tipo Decimal.
        Dim VP_PAR_Parametro As New SqlParameter

        With VP_PAR_Parametro
            .ParameterName = (PP_STR_Nombre_Parametro)
            .SqlDbType = SqlDbType.Decimal
            .Value = PP_DEC_Valor
        End With

        'Asigna el Parametro
        PP_SQL_Comando.Parameters.Add(VP_PAR_Parametro)
    End Sub

    Public Sub PG_Comando_Parameter_Set_Date(ByRef PP_SQL_Comando As SqlCommand, ByVal PP_STR_Nombre_Parametro As String, ByVal PP_DAT_Valor As Date)
        'Configura un Parametro de Tipo Fecha.
        Dim VP_PAR_Parametro As New SqlParameter

        With VP_PAR_Parametro
            .ParameterName = (PP_STR_Nombre_Parametro)
            .SqlDbType = SqlDbType.DateTime
            .Value = PP_DAT_Valor
        End With

        'Asigna el Parametro
        PP_SQL_Comando.Parameters.Add(VP_PAR_Parametro)
    End Sub

    Public Sub PG_Comando_ExecuteNonQuery(ByVal PP_SQL_Comando As SqlCommand)
        PP_SQL_Comando.ExecuteNonQuery()
    End Sub

    Public Sub PG_DataTable_Fill(ByVal PP_SQL_Comando As SqlCommand, ByRef PP_DTA_Resultado As DataTable)
        'Llena el DataTable.
        Dim VP_DAP_Resultado As New SqlDataAdapter

        VP_DAP_Resultado.SelectCommand = PP_SQL_Comando
        VP_DAP_Resultado.Fill(PP_DTA_Resultado)

    End Sub

    Public Sub PG_DataSet_Fill(ByVal PP_SQL_Comando As SqlCommand, ByRef PP_DTS_Resultado As DataSet)
        'Llena el DataTable.
        Dim VP_DAP_Resultado As New SqlDataAdapter

        VP_DAP_Resultado.SelectCommand = PP_SQL_Comando
        VP_DAP_Resultado.Fill(PP_DTS_Resultado)

    End Sub

    Public Sub PG_SqlConnection_Close(ByRef PP_SQL_Conexion As SqlConnection)
        If PP_SQL_Conexion.State = ConnectionState.Open Then
            PP_SQL_Conexion.Close()
        End If
    End Sub

End Class

Collation

Al compilar un Sp me muestra este error: “Cannot resolve collation conflict for equal to operation“.

Esto se debio a que estaba creando una tabla temporal en una base de datos y su Collation era diferente al de TEMPDBLa tabla temporal tomaba la collation de la TEMPDB. Entonces lo que hice fue asignarle la Collation de la BD donde la estoy mandando a generar.  

Name: DBDWH
Collation name: SQL_Latin1_General_CP850_CI_AS

Name: tempdb
Collation name: SQL_Latin_General_CP1_CI_AI

Solucion:  Despues de los campo string coloque COLLATE database_default.

CREATE TABLE ##Ventas (
 Producto    VARCHAR(13)   COLLATE database_default,
 Folio       VARCHAR(30)   COLLATE database_default,
 FechaVenta  NUMERIC(8, 0) )

COLLATE: Es una cláusula que se puede aplicar a una definición de base de datos o a una definición de columna para definir la intercalación, o a una expresión de cadena de caracteres para aplicar una conversión de intercalación.