Entradas

Mostrando las entradas de mayo, 2005

Codigo ASP.Net - Asignar una columna de un DataReader a una varible en WebMatrix

Hace tiempo que quiero usar las funciones que se generan con el Wizard Code de Web Matrix, pero creando un DataReader en lugar de DataSet.
Por fin entendi, que no se puede tener acceso directo a los Items del DataReader. Lo cual no me agrada mucho, pero ya solucione el problema. Sobretodo en los casos de leer un registro de la tabla.
Lo que yo habia estado intentando durante todo este tiempo.
Aqui la funcion:

Function obtenLotexID(ByVal iDLote As Integer) As System.Data.IDataReader
Dim connectionString As String = System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING")
Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)

Dim queryString As String = "SELECT [Lotes].* FROM [Lotes] WHERE ([Lotes].[IDLote] = @IDLote)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection

Dim dbParam_iDLote As System.Data.IDataPara…

Codigo ASP.Net - Agregar una grafica de datos.

Estuve buscando en Internet alguna solución para poner una pequeña grafica de barras o circular en una de las pantallas, de la aplicación de la empresa. Siempre había usado html para esto, una combinación de Css y las etiquetas de Table,Td y Tr. Pero en esta ocasion decidí que ya era tiempo de usar un verdadero gráfico. Además que si tenía toda la intención de usar un gráfico circular y en definitiva eso no se puede con html.

Existen varios controles comerciales entre ellos .netcharting, fxChart, etc. y de verdad baje la evaluación y me parecieron buenísimos, pero el precio no tanto.

Por ahi baje uno que tiene tiempo que es bastante famosillo y que se puede encontrar en www.carlosag.net llamado WebChart. Lo probe y no me gustó sinceramente no me gustó el tipo de graficos que genera. Es gratuito, muy sencillo y pero se ve muy burdo, asi que lo deseche.

Pero ayer como a eso de las 2:00 am, navegando en mi casa con la red inalámbrica de mi vecino (;)), encontré un maravilloso control. Solo …

Codigo ASP.Net - Usando el objeto HashTable

La idea era usar un arreglo (array) dentro de una de las aplicaciones. Esto generalmente lo uso bastante, y aun cuando en Asp es muy sencillo de usar y dimensionar un arreglo o array. En Asp.Net me encontre con la novedad de que existe 3 tipos diferentes de collecciones para un arreglo.

ArrayListHashTabley SortedList
Tome como base una funcion select de Web Matrix dentro de una pagina. Realice una modificacion a la consulta y al final de las modificaciones la funcion me regresa un HashTable en lugar de un dataset.
Aun cuando se puede utilizar directamente un join en la tabla directamente para que me dieran los resultados me gusta usar arreglos para designar los diferentes titulos a valores de una tabla que se usa como llave secundaria.
Codigo:

Function obtenBancos() As HashTable
Dim connectionString As String = System.Configuration.ConfigurationSettings.AppSettings("CONNECTION_STRING")
Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connection…

FCKEditor en asp.net

Durante ayer y hoy he estado revisando el editor wysiwyg para paginas de FCKEditor.
Ya tenia tiempo que lo habia visto, en un par de ocasiones estuve a punto de usarlo, para ser mas especifico, implementarlo en PhpNuke, pero finalmente no lo habia usado.
Como estoy delegando algunas tareas y la persona que hará los cambios en el sitio web de la empresa no sabe de html, decidí que seria practico (en lugar de dar clases de html) agregar este editor.
Lo mejor del editor es el hecho que es muy estable, esta muy probado y tienen mucho tiempo desarrollandolo.

No hay mucha información para la instalación, por un minuto pense que con bajar el paquete .Net seria suficiente pero no. En realida el archivo .dll es simplemente es una extension del webcontrol para TextArea. Es asi que se requiere bajar el paquete completo, y ponerlo en una carpeta desde raiz.

Ahora bien se puede editar el codigo fuente del control para realizar las personalizaciones correspondientes, ahi para quien guste, me quedo con …

Codigo ASP.Net - Contar registros distintos de una tabla

Use como siempre el wizard de Web Matrix para realizar un select. Modifique la cadena de consulta para contar los disitintos registros de la tabla y en lugar de generar un dataset o datareader la funcion genera un integer:


Function cuentaPC(ByVal iDSubasta As Integer) As Integer
Dim connectionString As String = System.Configuration.ConfigurationSettings.AppSettings("Mi_CONNECTION_STRING")
Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)

Dim queryString As String = "SELECT Count([Paletas].[IDPaleta]) as CuentaPaletas FROM (SELECT DISTINCT [Paletas].[IDPaleta] FROM [Paletas], [Lotes] WHERE (([Paletas].[IDPaleta] "& _
"= [Lotes].[IDPaleta]) AND ([Paletas].[IDSubasta] = @IDSubasta)))"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection


Dim dbParam_iDSubasta As System.Data.IDataParameter = New System.Data.OleDb.OleD…

Databinding usando Iif

En muchas ocasiones requiero de colocar un valor boleano en alguna de las columnas de los datagrid. Y el codigo es sencillo:

< /asp :label text='
< % # IIf (Container.DataItem("Activacion"),"SI","NO") % >
' > < / asp:label >

Listo!

SQL Tutorial

Siempre ando perdiendo esta pagina. Es un tutorial de w3schools.com. Es muy sencillo pero muy útil.

SQL Tutorial

¿No usar DataSets?

Acabo de leer el artículo en 4guysfromrolla. Me parecio interesante hacer la prueba, sobretodo porque se menciona que se puede aumentar hasta en 30 veces la velocidad de lectura de la base de datos. Y... sí efectivamente, es más rapido. Modifique el codigo para generar un DataReader en lugar de DataSet, y la diferencia fue asombrosa y de forma inmediata.


ASP.NET.4GuysFromRolla.com: Why I Don't Use DataSets in My ASP.NET Applications
Listo!

Ordenación (sort) con Web Matrix

Web Matrix contienen un control llamado MxDataGrid, que se supone es una version mejorada del control DataGrid. La verdad es que no lo encuentro tan amigable despues de todo. Razones:

No contiene la opcion de "Formato Automatico" como el DataGrid normal, Existe poca información sobre su uso.El sort u ordenamiento, asi como la paginación no es tan inmediata, si se tiene que modificar el codigo.Asi que con lo anterior, recomiendo usar el DataGrid normal.

Estuve posponiendo, por esto mismo, el agregar ordenacion en mis pantallas que contienen un data grid, pero por fin lo resolví y no estuvo tan complicado.
Algo que debo mencionar, es que pensé que el DataGrid haria el ordenamiento por mi, que no tendria que codificar algo para esto. Error!.
Pero no fue tan complicado, primero modifique la función "select" que se genera con los code wizards de Web Matrix.


Ejemplo:
Function obtenLotesxSubasta(ByVal iDSubasta As Integer) As System.Data.IDataReader
Dim connectionString As Strin…

PDFCreator 0.8

Creo que olvide mencionar en mi lista de software, estoy haciendo la modificacion en el post anterior. Pero creo que puedo platicar un poco mas de él, en esta ocasión.
Lo que me parece grandioso de PDFCreator es que se instala como una impresora dentro del ambiente de windows, es asi que se puede generar cualquier cosa en formato PDF. Porque gastar en Adobe Acrobat, cuando esta herramienta hace un excelente trabajo.
Es cierto que no genera todas las opciones de Acrobat, pero sinceramente quien las necesita.
Cuando se envia o se usa un archivo PDF, es simplemente por seguridad para que no esten modificando el archivo, de otra manera mejor enviar el archivo .doc o .xls o lo que sea.
Se instala el PDFCreator y tiene un archivo de inicio en español que habra que obtener de forma independiente. http://sector7g.wurzel6.de/pdfcreator/index_en.htm o en http://sourceforge.net/projects/pdfcreator/
Listo!

Anim FX banners en Flash

Instale Anim-FX en su version de prueba y simplemente no me gusto. Despues de varios intentos con Swish y pensando en crear el banner de la empresa en Gif Animado. Simplemente me decidi por unos templates gratuitos que andaban por ahi, y lo tuve que hacer en Flash MX.
Creo que perdí mas tiempo en estar buscando como hacerlo que en realidad hacerlo.
Espero que se acepte.
Listo!

Dar formato de moneda a un string.

Codigo ASP.Net - Leer un registro de una tabla.

A continuación un snippet, que siempre ando olvidando a la hora de leer un registro de una table:intIDLote = Request.QueryString("lote")
Dim drLote As System.Data.DataRow
drLote = obtenLotexID(intIDLote).Tables(0).Rows(0)
Titulo.Text = drLote.Item("Titulo")

La siguiente funcion se genera en Web Matrix. Recuerda que tiene que ser un DATASET, y no un DataReader.Function obtenLotexID(ByVal iDLote As Integer) As System.Data.DataSet
Dim connectionString As String = System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_connGabasys")
Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)

Dim queryString As String = "SELECT ...... ([Lotes].[IDLote] = @IDLote))"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection

Dim dbParam_iDLote As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter

Lista de Software que uso

Mucha gente cree que uso software pirata, pero no es asi. Lo que intentó usar la mayor parte del tiempo es software Open Source; es asi que a continuacion mi lista de open source:
Filezilla - Programa para realizar ftp, es muy bueno y vino a sustituir al buen ws_ftp que utilice por mucho tiempo. http://filezilla.sourceforge.net7Zip - Programa de compresion, que aun cuando XP permite abrir y crear archivos .zip, la verdad es que me encuentro en internet con otros tipos de archivos entre ellos .rar, .gz, .ace, etc. Este programa es un poco rudimentario, no es tan amigable. Pero funciona, y me evito tener WinZip. http://www.7zip.orgRealVNC - ¡Que haria sin VNC! Ha venido a solucionarme muchos problemas de acceso remoto a las computadoras, el único problema es que ahora camino menos, y los kilitos se quedan... http://www.realvnc.comNVU - Por fin deje de utilizar frontpage. Es una herramienta basada en el framework de Mozilla, funciona de maravilla. Todavia tiene bugs, pero espero que para …

Paint .Net 2.1

Paint .Net es un programa sencillo para el diseño, pero me ha sorprendido que permite manejo de capas. Se promociona como el sustituto de Paint que viene incluido en Windows XP. Esta apoyado en parte por Microsoft, pero el desarrollo es open source y esta siendo desarrollado en la universidad de washington: http://www.eecs.wsu.edu/paint.net/
Muy, pero muy recomendable. Esta en version release 2.1.
Si continuan con el desarrollo, es posible que se convierta en una aplicacion tipo Gimp (www.gimp.org).
Listo!

Visual Studio Web Express Edition

He estado trabajando con ASP .net 1.1 queria esperar a que saliera la versión 2.0 pero la verdad es que ya tenia que migrar toda la intranet en la oficina, asi que con todo y mi pesar empece con la version 1.1. Pero, pero recomiendo obtener la version 2.0 beta 2. Se puede bajar de www.asp.net es un enlace directo a Microsoft.
El costo de esta aplicación a diferencia de Web Matrix que es totalmente gratuito, será de 50 dolarucos. No me parece mal y en cuanto este la versión final lo comprare.
¿Para cuando estara la version 2.0? pues no existe fecha o por lo menos yo no la tengo. Espero sea pronto para empezar a utilizarla.
El primer proyecto con .Net2 sera MedSid.
Listo!

Inicio del Blog

Empiezo el mes con un blog. Veremos como va el asunto.

Pequeña introducción de mi persona, mi nombre es Víctor García. Tengo trabajando en el area de sistemas entre 9 y 10 años.

El fin del blog, es llevar una bitacora de aquellas cosas que voy resolviendo en el trabajo.
Que pueden incluir codigo, anotacion, soluciones, tips, etc.

Si a alguien le sirven, perfecto.

Tal vez cooperen con dar click a los Google - Adsense.

Bueno por ahora es todo.

Listo!