martes, 23 de noviembre de 2010

Poner el foco en un control con .net con un Scriptmanager de un Masterpage

Si se va utilizar más de tres veces por ejemplo en validaciones recomiendo crear una función como la siguiente:

    Public Sub enfocar(ByVal ctrl As Control)
        Dim tsm As AjaxControlToolkit.ToolkitScriptManager

       'Id del ScriptManager en la masterPage
        tsm = Master.FindControl("ToolkitScriptManager1")
        tsm.SetFocus(ctrl)
    End Sub


Nota el ToolScriptManager es contenido en el ajax control toolkit sin embargo brinda la misma funcionalidad del scriptmanager(por lo que debería de funcionar con un scriptmanager solo que la declaración sería  dim sm as ScriptManager), de hecho lo hereda la principal diferencia es que el ToolScriptManager según reduce el tráfico de red

Por ultimo sería llamar a la función

enfocar(txtcajadetexto)
'Tambien debería de funcionar con otros controles

Poner el foco en un control con .net

Generalmente cuando programamos en .net es necesario poner el foco en un determinado control, bueno pues esto es muy sencillo cuando utilizas un control ScriptManager simplemente hay que mandarlo llamar de la siguiente forma:

Scriptmanager.setFocus(txtcajatexto)

domingo, 21 de noviembre de 2010

Paseando por el museo de la caricatura

Bueno pues hace unos días pase por el museo de la caricatura y encontre una imagen que me pareció bastante graciosa, tuve la fortuna de que me hiciera una caricatura un caricaturista del periódico Excelsior, el cual muy amablemente me proporciono sus datos y me mostro algunos de sus trabajos, dejo su página para que se den un quemón http://luisxaviercartones.blogspot.com/

Y tu que tipo de Paradigma de desarrollo utlizas????

Bueno este video lo vi hace ya tiempo en la certificación de desarrollador de 5 estrellas que lleve, la quinta estrella en el módulo 2 de arquitectura de software es para mi uno de los más importantes y de lo cuales llamaron más mi atención, desafortunadamente en la página de desarrollador 5 estrellas el material ya no esta disponible así que encontre un link el cual contiene información sobre la arquitectura de software, paradigmas y muchas otras cosas, estan wmv y pueden verlos espero que les sirva http://juank.solocodigo.com/5%20Estrella/Videos%20Arquitectura/

martes, 16 de noviembre de 2010

Agregar, Eliminar Cambiar tipo de dato en columnas sql server

Para Agregar una columna
------------------------------
ALTER TABLE table_name
ADD column_name datatype
------------------------------
Para Eliminar una columna
------------------------------
ALTER TABLE table_name
DROP COLUMN column_name ------------------------------
Para cambiar tipo de datos
------------------------------
ALTER TABLE table_name
ALTER COLUMN column_name datatype

Cargar o Subir un archivo de Excel extension xls o xlsx en vb .net

Este código lo encontre ya hace tiempo googleando sin embargo era muy extenso lo simplifique lo más que pude y bueno aquí lo dejo:
Imports System.Data
Imports System.Data.OleDb
Imports System.IO
Imports System.Configuration
  Public Sub CargarArchivoX()
        If FileUpload1.HasFile Then
            Dim FileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName)
            Dim Extension As String = Path.GetExtension(FileUpload1.PostedFile.FileName)
            Dim FilePath As String = Server.MapPath("../../Upload/") & FileUpload1.FileName
            FileUpload1.SaveAs(Server.MapPath("../../Upload/") & FileUpload1.FileName)
            extraedatosX(FilePath, Extension, "Yes")
        End If
    End Sub
    Public Sub extraedatosX(ByVal FilePath As String, ByVal Extension As String, ByVal isHDR As String)
        Dim conStr As String = ""
        Select Case Extension
            Case ".xls"
                'Excel 97-03
                'conStr = ConfigurationManager.ConnectionStrings("Excel03ConString").ConnectionString()
                conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"
                Exit Select
            Case ".xlsx"
                'Excel 07
                 'conStr = ConfigurationManager.ConnectionStrings("Excel07ConString").ConnectionString
                conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"
                Exit Select
        End Select
        conStr = String.Format(conStr, FilePath, isHDR)
        Dim connExcel As New OleDbConnection(conStr)
        Dim cmdExcel As New OleDbCommand()
        Dim oda As New OleDbDataAdapter()
        Dim dt As New DataTable()
        cmdExcel.Connection = connExcel
        'Get the name of First Sheet
        connExcel.Open()
        Dim dtExcelSchema As DataTable
        dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
        'dtExcelSchema.Rows.C()
        Dim SheetName As String = dtExcelSchema.Rows(0)("TABLE_NAME").ToString()
        connExcel.Close()
        'Read Data from First Sheet
        connExcel.Open()
        cmdExcel.CommandText = "SELECT * From [" & SheetName & "]"
        oda.SelectCommand = cmdExcel
        oda.Fill(dt)
        connExcel.Close()
        grdgenerico.Caption = Path.GetFileName(FilePath)
        grdgenerico.DataSource = dt
        grdgenerico.DataBind()
    End Sub


Tomando en cuenta que tienen un boton o un link button que al darle click simplemente debe mandar llamar la función CargarArchivoX() y que se debe contar con un FileUpload llamado FileUpload1 y por último un gridview llamado grdgenerico y una carpeta llamada Upload dos niveles arriba de la Aplicacion con permisos de escritura

viernes, 12 de noviembre de 2010

Identificar la llave primaria de una tabla(Primary Key)

Algunas veces debido a que las relaciones entre tablas no estan bien hechas es necesario conocer el nombre de la tabla que tiene un campo o columna identity, por ejemplo supongamos que tengo una tabla con un campo id_banco que hace referencia a otra tabla, desafortunadamente como no tengo una relación, esto no lo puedo ver en los diagramas, en un post anterior hice un store procedure que busca campos y texto buscar un campo en la base de datos, pero se pierde mucho tiempo bueno pues aquí dejo una consulta que a partir del nombre de la columna puede obtener el nombre de la tabla

SELECT 
    TC.TABLE_NAME, 
    TC.CONSTRAINT_NAME, 
    KCU.COLUMN_NAME, 
    KCU.ORDINAL_POSITION 
FROM 
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
    INNER JOIN
    INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU
    ON TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME 
WHERE
    TC.CONSTRAINT_TYPE = 'PRIMARY KEY'
    AND COLUMN_NAME='Id_Banco'
    -- AND T.TABLE_NAME = 'table_name'
ORDER BY
    TC.TABLE_NAME,
    KCU.ORDINAL_POSITION