Este documento describe cómo almacenar una imagen en una base de datos SQL Server 2014 usando Power Builder 12.6. Explica cómo crear una tabla llamada "usuario" con campos para almacenar datos e imágenes de usuario. Luego detalla los pasos para diseñar formularios e insertar controles que permitan cargar imágenes de usuario y almacenarlas en la base de datos. Finalmente, proporciona el código para implementar funcionalidad como registrar nuevos usuarios, cancelar, guardar datos y acceder al menú principal.
Manual de creacion de almacenamiento de imagen en una base de datos
1. AgripinoQuispeRamos
Base de datos Ing. Informática
1
ALMACENAR UNA IMAGEN EN UNA BASE DE DATOS
(SQL SERVER 2014 – POWER BUILDER 12.6)
Para desarrollar este ejemplo primeramente usted debe crear una base de datos llamado
Sis_Imagen en SQL Server 2014, dentro de esta base de datos creado debe crear una tabla
llamado usuario con los siguientes campos como nos muestra en siguiente imagen:
A continuación, desarrollamos su aplicación en Lenguaje de programación de Power
Builder 12.6, para ingresar datos a la tabla usuario se debe insertar un formulario y diseñar
tal como nos muestra en la siguiente imagen:
CommandButton
Herramienta SingleLineEdit.
Nombres: sle_1, sle_2…….. sle_5.
Create picture control.
Nombre: P_Foto
Create radiobottun
control.
Nombre: rb_1, rb_2
Datawindow
Dw_adm_Usuario
2. AgripinoQuispeRamos
Base de datos Ing. Informática
2
PARA CREAR SU CODIFICACIÓN EN EL BOTONES NUEVO, CANCELAR,
MODIFICAR, GUARDAR Y SALIR USTED CUIDADOSAMENTE DEBE SEGUIR
LOS SIGUIENTES PASOS:
BOTÓN NUEVO
Sle_1.Enabled=True
Sle_2.Enabled=True
Sle_3.Enabled=True
Sle_4.Enabled=True
Sle_5.Enabled=True
Sle_1.Text=""
Sle_2.Text=""
Sle_3.Text=""
Sle_4.Text=""
Sle_5.Text=""
Sle_1.Setfocus()
P_Foto.Visible=False
Cb_Cancel.Enabled=True
Cb_Guardar.Enabled=Trae
BOTÓN CANCELAR
Rollback;
Dw_1.Retrieve()
P_Foto.Visible=True
Cb_Guardar.Enabled=False
Cb_Cancel.Enabled=False
BOTÓN GUARDAR DATOS
If Sle_1.Text="" Then
Messagebox("Hola Udea", "Falta Ingresar Usuario")
Return
End If
If Sle_2.Text="" Then
Messagebox("Hola Udea", "Falta Ingresar Nombre De Usuario")
Return
End If
If Sle_3.Text="" Then
Messagebox("Hola Udea", "Falta Ingresar Dirección....")
Return
End If
If (Sle_4.Text) <> (Sle_5.Text) Then
Messagebox("Mensaje","Las Claves Deben De Ser Iguales...")
Return
End If
If Rb_1.Checked=True Then Nivel="A"
If Rb_2.Checked=True Then Nivel="J"
If Rb_3.Checked=True Then Nivel="I"
Insert Into Usuario (Idusu,Ape_Nombre,Direccion,Clave,Confclave,N_Acceso)
Values(:Sle_1.Text,:Sle_2.Text,:Sle_3.Text,:Sle_4.Text,:Sle_5.Text,:Nivel);
Commit;
3. AgripinoQuispeRamos
Base de datos Ing. Informática
3
Dw_1.Settransobject(Sqlca)
Integer Fh,Ret
Blob Ifoto
String Txtname,Named
String Defext="Jpg"
String Filter="Bitmap Files(*.Jpg),*.Jpg"
Ret=Getfileopenname("Open Bitmap",Txtname,Named,Defext,Filter)
If Ret=1 Then
Fh=Fileopen(Txtname,Streammode!)
If Fh<>-1 Then
Fileread(Fh,Ifoto)
Fileclose(Fh)
P_Foto.Setpicture(Ifoto)
Updateblob Usuario Set Foto=:Ifoto
Where Idusu=:Sle_1.Text;
Commit;
P_Foto.Visible=True
End If
End If
Dw_1.Retrieve()
Cb_Cancel.Enabled=False
Cb_Guardar.Enabled=False
BOTÓN SALIR
Close (Parente)
PARA CREAR SEGURIDAD DE ACCESO A MENÚ PRINCIPAL USTED DEBE INSERTAR
UN NUEVO FORMULARIO Y DISEÑAR COMO NOS MUESTRA SIGUIENTE IMAGEN:
Nota: cuando se registra el
usuario para accesar a
menú principal el imagen
o fotografía muestra
automáticamente.
PARA CREAR SU CODIFICACIÓN USTED CUIDADOSAMENTE DEBE SEGUIR LOS
SIGUIENTES PASOS:
SE DEBE DECLARAR VARIABLE GLOBAL
String Nivel
Blob Fotos
4. AgripinoQuispeRamos
Base de datos Ing. Informática
4
DIGITAR EL SIGUIENTE CÓDIGO DENTRO DE SL_USUARIO
Selectblob Foto
Into:Fotos
From Usuario
Where Idusu=:Em_Log.Text;
P_Foto.Setpicture(Fotos)
P_Foto.Visible=True
Sle_Pass.Setfocus()
BOTÓN ACEPTAR
String Rc
Rc = Em_Log.Text
String Rpass,Nombre,Na
Int Niveles
Select Clave,Ape_Nombre,N_Acceso
Into :Rpass,:Nombre,:Na
From Usuario
Where Idusu = :Rc;
If Rpass = "" Then
Messagebox("Mensaje","Usuario No Existe...")
Em_Log.Setfocus()
Return
End If
If Upper(Sle_Pass.Text) <> Upper(Rpass) Then
Messagebox("Mensaje","Clave De Usuario Es Incorrecto...")
Sle_Pass.Setfocus()
Return
End If
If Upper(Sle_Pass.Text) = Upper(Rpass) Then
Messagebox("Mensaje","Ud. Tiene Acceso Al Sistema")
Open(W_Principal)
W_Principal.St_Usuario.Text=Nombre
W_Principal.St_Nivel.Text=Na
Close(W_Pass)
Return
BOTÓN CANCELAR:
Close(Parent)
PARA CREAR MENÚ PRINCIPAL USTED DEBE INSERTAR UN NUEVO FORMULARIO Y
DISEÑAR COMO NOS MUESTRA SIGUIENTE IMAGEN:
P_foto.setpicture(fotos) //siguiente
código digitar dentro del evento open
de ventana menú principal