Archive for February, 2010

Como crear una función (stored function) en MySql

Estoy elaborando un programa para corredores de seguros en el cual necesitaba crear un reporte de morisidad de pagos por lo que necesitaba extraer de la base de datos los montos atrasados para 30 días, 60 días y más de 90 días.

Una de las forma de hacerlo es identificar cada póliza atrasada y llamar una función (stored function) que me devuelva el monto para cada periodo de días.

Este es el código para crear un función:

CREATE FUNCTION `saldo_30_dias`(par_poli_id INTEGER(11))
RETURNS decimal(10,2)
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ”
Begin
Declare saldo decimal(10,2);
select sum(pole_monto-pole_abono) into saldo
from polizas_letras a
where a.poli_id=par_poli_id
and pole_fecha_letra>=adddate(now(), interval -30 DAY)
and pole_fecha_letra<now()
and pole_estatus=0;
return saldo;
end;

Como pueden ver la función recibe un parámetro (par_poli_id) que es el código de la póliza.

Returna un valor decimal(10,2) que utilizó en el select

Ejecuto el select y el valor obtenido es insertado en saldo, utilizando la sentencia “into” que es la única diferencia de un select regular.

Como obtener el valor de un combobox en un gridview en Asp.Net

Dandole seguimiento al post “como agregar un combo box a un gridview” les voy a mostrar como leer el valor seleccionado en el combobox.

Para esto utilizo un pequeño truco que consiste en agregar un botón tipo delete con el cual voy a acceder el indice de la línea del gridview que estoy tratando de leer.

Utilizando esta pequeña funcion podremos tener acceso al valor del combobox.

Protected Sub sacar_valor_combobox(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs) _
Handles drg_queue.RowDeleting
Dim id As String
id = drg_queue.Rows(e.RowIndex.ToString).Cells(0).Text

Dim ddl As DropDownList = drg_queue.Rows(e.RowIndex.ToString).Cells(6).FindControl(“cmb_agentes_asignar”)

lbl_valor_combo.Text = ddl.SelectedValue.ToString

End Sub

Cómo usar internet en un simulador de BlackBerry

Desarrollando una aplicacion, básicamente un weblauncher, para BlackBerry, que lo único que tenía que hacer era llamar a una dirección web que tenia una aplicación. Todo iba bien hasta que quize probarla en un simulador (8900 para ser exactos) y me encontré con la sorpresa que no conectaba a internet, ni siquiera abría google, e investigando encontré la solución.

Les explico brevemente de que trata, los teléfonos BlackBerry usan un protocolo llamado MDS (Movil Data Service) y las pc’s TCP/IP lo que significa que BlackBerry no entiende TCP, pero RIM, fabricante de BlackBerry, pensó en todo y creo algo que se llama “BlackBerry Email and MDS Services Simulators” que convierte conexiones de MDS a TCP y viceversa.

Suponiendo que ya tienes el simulador instalado en tu máquina, lo primero que hay que hacer es descargar tu BlackBerry Email and MDS Services Simulators de aquí. Despues de instalarlo vas a buscar en “C:\Archivos de Programa\Research in Motion\BlackBerry Email and MDS Services Simulators” una carpeta llamada MDS y dentro de esta carpeta vas a ejecutar algo que se llama run o run.bat. Despúes solamente tienes que abrir tu simulador y voilá ya podrás usar internet desde tu simulador de BlackBerry.

–>Descargar Simuladores<—

Simulador de BlackBerry

Simulador de BlackBerry

Enviar correo gmail desde vb.net

En muchas ocasiones no queremos utilizar nuestro servidor para enviar correos por lo que recurrimos a nuestro viejo amigo google.

He aqui como enviar un correo utilizando una cuenta de gmail:

Solución:

Imports System.Net.Mail ‘referencia

Public Sub enviar_mail(ByVal i_de As String, ByVal i_para As String, ByVal asunto As String, ByVal mensaje As String)

Dim insMail As New MailMessage(New MailAddress(i_de), New MailAddress(i_para))
With insMail

.Subject = asunto
.IsBodyHtml = True ‘envia el mensaje como html
.Body = mensaje
.From = New MailAddress(i_de)
.ReplyTo = New MailAddress(i_de)

End With
Dim smtp As New System.Net.Mail.SmtpClient
smtp.Host = “smtp.gmail.com”
smtp.Port = 587
smtp.EnableSsl = True
smtp.UseDefaultCredentials = False
smtp.Credentials = New System.Net.NetworkCredential(“cuentagmail”, “contraseñagmail”)

smtp.Send(insMail)

End Sub