Consulta A Base De Datos Para Saber Si El Registro Existe


Objetivo: Consulta A Base De Datos Para Saber Si El Registro Existe
Buenos días, estoy trabajando con gambas 3.8.4 en ubuntu 12.04

Tengo un formulario para registrar unos insumos médicos para un inventario de un almacén
que tiene un buttonbox para el código del insumo y un texbox para la descripción del mismo
captura_de_pantalla_de_2016_06_10_07_20_10_copia

tengo otro formulario con los controles datasource databrowser y datacontrol para visualizar los
registros que tiene la base de datos, éste se activa al presionar un botón que tiene el buttonbox
captura_de_pantalla_de_2016_06_10_07_20_36

quiero saber si es posible que al escribir el código del insumo si éste está registrado
me rellene el buttonbox y el texbox con el registro para no registrarlo 2 veces.
¿es posible o es mejor un mensaje que me advierta que ya existe el insumo?

¿está bien que use esos controles o es mejor un gridview que me muestre los datos de la base?
pregunto esto último porque me parece que son muy fáciles de utilizar me basé en un ejemplo-video
de jbsan y me conecté y todo bien

a shordi seguí tu consejo y trabajé en la base de datos y la relacioné cosa que me costó y al
examinar mi programa vi que tenía muchas fallas tengo que plantearlo de nuevo

éste es el código

Código del formulario donde está el databrowser



'gambas class file



Public resul As Result

Public conexion As Connection



Public Sub Form_Open()




Me.Caption = "Visualizar los insumos Ambulatorio Tipo III La Paz"

conexion = ModuloConexion.conectarBase()


DataSource1.Connection = conexion

DataSource1.Table = "insumo"


resul = conexion.Exec("Select * From insumo")


End








Código del formulario de registro de insumo



' gambas class file







Public hconn As Connection






Public Sub Form_Open()

Me.Caption = "Registro nuevo insumo Ambulatorio Tipo III La Paz"

ButtonBox_codigo.SetFocus

hconn = ModuloConexion.conectarBase()

End

Public Sub ButtonRegistrar_Click()



If IsNull(ButtonBox_codigo.Text) Then
Message.Info("Debe ingresar el código")
ButtonBox_codigo.SetFocus
Return
Else
If IsNull(TextBox_descripcion_insumo.Text) Then
Message.Info("Debe proporcionar la descripcion")
TextBox_descripcion_insumo.SetFocus
Return
Endif
Endif

hconn.Exec("insert into insumo (id_insumo, codigo_insumo, descripcion) values (&1, &2, &3)", Null, ButtonBox_codigo.Text, TextBox_descripcion_insumo.Text)
Message("Registro guardado")

limpiar
ButtonBox_codigo.SetFocus



End

Public Sub ButtonLimpiar_Click()

ButtonBox_codigo.Text = ""
TextBox_descripcion_insumo.Text = ""
ButtonBox_codigo.SetFocus
End

Public Sub ButtonSalir_Click()

ModuloConexion.cerrarConexion
Quit

End

Public Sub limpiar()

ButtonBox_codigo.Text = ""
TextBox_descripcion_insumo.Text = ""

End



Public Sub ButtonBox_codigo_Click()


Form_prueba.Show


End



Public Sub ButtonBox_codigo_KeyPress()



Select Case Key.Code


Case 48 To 57

Case Key.BackSpace

Case Key.Delete

Case Key.Tab

Case Else

Message.Warning("Ingresar solo números")

ButtonBox_codigo.SetFocus

Stop Event

End Select


End







Código del módulo de conexión a la base de datos



' gambas module file



Private hconn As Connection


Public Function conectarBase() As Connection





hconn = New Connection


hconn.Host = "localhost"

hconn.Name = "sistcontpro"

hconn.Type = "mysql"

hconn.User = "root"

hconn.Password = "20042008"


Try hconn.Open()


If Error Then

Message.Error("Error al conectar con la base")

Print Error.Text

Print Error.Where

Print Error.Code

Else

Return hconn

Endif


Return Null
End



Public Sub cerrarConexion()


If hconn = Null Then
Return

hconn.Close()

hconn = Null


End





La base de datos tiene una tabla llamada insumos (son insumos médicos)
con 3 columnas
id_insumo, codigo_insumo y descripcion






Gracias
Willian Suárez Venezuela


Captura de pantalla de 2016-06-10 07_20_10 - copia.png
Descripción:  
Tamaño: 34.97 KB
Visto: 59 veces

Captura de pantalla de 2016-06-10 07_20_10 - copia.png

Captura de pantalla de 2016-06-10 07_20_10 - copia.png
Descripción:  
Tamaño: 34.97 KB
Visto: 59 veces

Captura de pantalla de 2016-06-10 07_20_10 - copia.png

Captura de pantalla de 2016-06-10 07_20_10 - copia.png
Descripción:  
Tamaño: 34.97 KB
Visto: 59 veces

Captura de pantalla de 2016-06-10 07_20_10 - copia.png


Perfil MP  
Objetivo: Re: Consulta A Base De Datos Para Saber Si El Registro Existe
Sinceramente no sé qué contestarte. Hay muchas formas, muchísimas, de hacer un mantenimiento de una tabla. El problema es que el camino que has emprendido es tan diferente, opuesto, diría yo, a lo que yo considero correcto que no puedo decirte "haz esto" o "haz lo otro".

Sólo podré ayudarte si haces preguntas muy concretas tipo: "En la línea tal hago esto y falla. ¿qué error hay?" Yo te puedo decir: "te falla porque esto haz esto otro"

Pero si la pregunta es "¿Se puede saber si el registro existe?" la respuesta es "Sí, se puede: inténtalo y ya me cuentas".

Otra cosa: No subas código así a lo bestia. Sube el proyecto en su lugar. El código en abstracto no dice mucho ni es utilizable para probar las cosas...

Saludos

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.5722s (PHP: -73% SQL: 173%)
Consultas SQL: 47 - Debug off - GZIP Activado