Falla En Los Datos De La Consulta


Objetivo: Falla En Los Datos De La Consulta
BUenas tardes tengo un formulario con donde registro en mi base de datos los insumos, con los campos id_insumo, codigo_insumo, descripcion y una clave foránea de la tabla categoría que tiene 2 campos id_categoría y categoría en ese mismo formulario registro tambien la categoria del insumo pero ese registro se va a otra tabla en la base de datos

Hice un formulario con un tableview para consultar la informacion de la tabla insumo pero no me aparecía la categoría ya que está en otra tabla, despues de tanto investigar logré hacer la consulta en el tableview que me apareciera el id_insumo el codigo, la descripcion y la categoría, pero el problema es que al registrar los insumos cada uno tiene su categoría pero al hacer la consulta no corresponde el insumo con su respectiva categoría,

estoy en ubuntu 12.04 y gambas 3.8.4 y mi base de datos es mysql

tabla insumo
id_insumo
codigo_insumo
descripcion
fk_id_categoria (foranea)

tabla categoría_insumo
id_categoria
categoria

éste es el código del formulario

Public Sub mostrar_datos_tableview()

Dim i As Integer
Dim buscar As String

If ModuloConexion.conectarBase() Then
buscar = "SELECT id_insumo, codigo_insumo, descripcion, categoria FROM insumo JOIN categoria_insumo"
hresul = hconn.Exec(buscar)
If (hresul.Count <> 0) Then

TableView1.header = 4
TableView1.rows.Count = hresul.Count
TableView1.columns.count = 4
TableView1.Columns[0].Text = "Id"
TableView1.Columns[0].width = 60
TableView1.Columns[1].Text = "Código"
TableView1.Columns[1].width = 125
TableView1.Columns[2].Text = "Descripción"
TableView1.Columns[2].width = 250
TableView1.Columns[3].Text = "Categoría"
TableView1.Columns[3].Width = 125


While hresul.Available
TableView1[i, 0].Text = hresul!id_insumo
TableView1[i, 1].Text = hresul!codigo_insumo
TableView1[i, 2].Text = hresul!descripcion
TableView1[i, 3].Text = hresul!categoria

hresul.MoveNext
Inc i
Wend
Endif
Endif

End


registré varios insumos con categoría de medicamento pero al registrar uno con categoría médico-quirúrgico en la consulta
me aparecen 6 categorías medicamentos y una médico-quirúrgico despues 6 medicamentos más y otro médico-quirúrgico
y así sucesivamente, pensé en unir las tablas pero quería saber si se puede solucionar

gracias
Willian Suarez Venezuela

Perfil MP  
Objetivo: Re: Falla En Los Datos De La Consulta
Hola Willyanjose, mira me parece que el problema lo tenes en la sentencia SQL.
Vos pones: "SELECT id_insumo, codigo_insumo, descripcion, categoria FROM insumo JOIN categoria_insumo"
En este caso la palabra JOIN te unirá las tablas, prueba a usar

En este otro hilo encontraras mas información sobre sql

me arece que tu sentencia sql deberia ser algo como:
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;

Saludos.

Perfil MP  
Objetivo: Re: Falla En Los Datos De La Consulta
Gracias por la respuesta efectivamente es así la consulta lo que no sabía yo es que la clave foránea debe ser un índice,
lo que no me aclaro es si debe ser null o no y lo de restrict, cascade, no action y la otra opción, lo de base de datos es complicado, logré que me mostrara la consulta pero no he logrado insertar nuevos registros y que me los muestre cada uno con su categoría

gracias hermano
saludos
Willian Suárez Venezuela

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.4312s (PHP: -80% SQL: 180%)
Consultas SQL: 45 - Debug off - GZIP Activado