Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 3 de 3
Ir a la página Anterior  1, 2, 3
 
Problema Con GridView
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con GridView 
 
No has seguido mi ejemplo, y sin conocer tu base de datos, no puedo decirte nada más. Mándame la estructura de las tablas y tal vez te pueda aconsejar algo.
De todas formas un apunte. No son necesarios, ni de lejos, esa cantidad de paréntesis.
Con
rData = Conectarme.$conexion.Exec("select  Producto.IDP as Codigo, Producto.Producto as Producto, Producto.Cantidad as Cantidad, Producto.Ubicacion as Ubicacion, Producto.Descripcion as Descripcion, ... etc.

Es suficiente. A lo sumo, si el nombre del campo tiene algún caracter extraño (ñ, acentos, espacios) puedes englobarlo con las comillas invertidas ` (acento grave francés).
Algo así:
rData = Conectarme.$conexion.Exec("select  `Producto`.`IDP` as Codigo, `Producto`.`Producto` as `Producto`, `Producto`.`Cantidad` as `Cantidad ,  ... etc.

Además, si el nombre del campo es único en la consulta, es decir, en la tabla producto tienes un campo ubicacion, pero en la tabla cantidad no hay ninguno que se llame así, no es necesario indicar la dependencia y si el nombre del campo, además, es el mismo que el alias, éste tampoco es necesario.
Así tu consulta (sin valorar si es correcta o no) quedaría mucho más legible así:

rData = Conectarme.$conexion.Exec("select Producto.IDP as Codigo, Producto,Cantidad,Ubicacion,Descripcion, PrecioC as PresioCompra,PrecioV as PrecioVenta, Categoria FROM Producto, Categoria where Producto = '&1' AND Producto.CodCat = Categoria.CodCat ",textBox1.Text)
 


Repito, no sé si esto funciona pues no conozco tu base de datos.

Por último parte, no sé cómo de esa consulta, donde generas alias para cada campo, sale el grid de la imagen que adjuntas, que tiene como cabeceras los nombres sin alias.

Saludos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con GridView 
 
ya he probado ese codigo y me da un error de sintaxis

 rData = Conectarme.$conexion.Exec("select Producto, Categoria FROM Producto, Categoria where Producto = '&1' AND Producto.CodCat = Categoria.CodCat ", textBox1.Text)

he probado solo con dos campos y nada, me siempre el error

creo que debe de ser  rData = Conectarme.$conexion.Exec("select Producto, Categoria FROM Producto, Categoria where Producto = '" & TextBox1.Text & "' AND Producto.CodCat = Categoria.CodCat ")

pero ninguna de las dos me lo da


 captura_de_pantalla_de_2013_06_26_10_46_39  captura_de_pantalla_de_2013_06_26_10_46_57  captura_de_pantalla_de_2013_06_26_10_47_20  captura_de_pantalla_de_2013_06_26_10_47_20


hay tienes mi tablas


solo de esta manera me funciona

rData = Conectarme.$conexion.Exec("select Producto, Categoria FROM Producto, Categoria where Producto ='" & TextBox1.Text & "'  AND Producto.CodCat = Categoria.CodCat ")

pero siempre me da el problema de

producto.Producto Categoria.Categoria  

creo que no me reconoce las relaciones

tuve analizando el codigo

rData = Conectarme.$conexion.Exec("select Producto, Categoria FROM Producto, Categoria where Producto ='" & TextBox1.Text & "'  ")

ese codigo de arriba me da igual a esto

rData = Conectarme.$conexion.Exec("select Producto, Categoria FROM Producto, Categoria where Producto ='" & TextBox1.Text & "'  AND Producto.CodCat = Categoria.CodCat ")


entonces el problema creo que esta en esto

 AND Producto.CodCat = Categoria.CodCat


no reconoce la relacion, y en mysql tengo relacionada las dos tablas con el identificador (CodCat en Producto y en Categoria CodCat)
 



 
última edición por soldadozero el Miercoles, 26 Junio 2013, 19:59; editado 3 veces 
soldadozero - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con GridView 
 
En principio no veo ningún error evidente en la estructura de las tablas. Supongo que estás usando Innodb dentro de MySQL ¿no?

¿Has probado el código que te pasé con el inner join?

Para más detalles, sube la estructura de las tablas tal como la creaste (show create table mitabla). Así podemos ver los índices y las relaciones.

SQL funciona de maravilla. Si no sale lo esperado, una de dos: o tu estructura es errónea o los datos que tienes grabados son erróneos.

Saludos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con GridView 
 
shordi escribió:  
En principio no veo ningún error evidente en la estructura de las tablas. Supongo que estás usando Innodb dentro de MySQL ¿no?

¿Has probado el código que te pasé con el inner join?

Para más detalles, sube la estructura de las tablas tal como la creaste (show create table mitabla). Así podemos ver los índices y las relaciones.

SQL funciona de maravilla. Si no sale lo esperado, una de dos: o tu estructura es errónea o los datos que tienes grabados son erróneos.

Saludos.



bueno disculpen por no concordar un poco. es cierto mi manera de hacer las cosas es erróneas tal ves, es por mi manera de programar :/

pero bueno la idea es que los alias en la parte superior salgan o muestren  ejemplo: Codigo, Producto, Cantidad Categoria ECT.

pero solo logro conseguir Producto.Codigo, Producto.Cantidad...

las relaciones las hago bien a como me dicen, ya tome los ejemplos de todos aqui!! y nada de darme resultados positivos

 rData = Conectarme.$conexion.Exec("select Producto.IDP, Categoria.Categoria From Producto inner join Categoria on Producto.CodCat = Categoria.CodCat where Producto = '" & TextBox1.Text & "' ")

aqui tienes

 captura_de_pantalla_de_2013_06_26_14_37_45

pero al contrario esto es lo que consigo, pensé que era las relaciones en mysql que tenia y bueno las elimine para probar, pero igual es el mismo problema.

 en cuantos a mi tablas de datos

 captura_de_pantalla_de_2013_06_26_14_40_55

 captura_de_pantalla_de_2013_06_26_14_41_17

chicos disculpen por la molestia (si he enojado a alguien aqui)

pero como soy nuevo en gambas algunas cosas no son tan similares  a VB

gracias
 



 
última edición por soldadozero el Jueves, 27 Junio 2013, 00:14; editado 2 veces 
soldadozero - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con GridView 
 
Vale. Ahora lo entiendo. Tanto insistes en que la relación no funciona que creía que era eso lo que te pasaba. Lo que tú quieres es que no aparezca la jeraquía tabla.campo y sólo el nombre de campo en la cabecera de la columna.

Prueba esto:

  
dim i as integer
...
...
   hCon.open
    cSql = subst("select (Producto.IDP) as Codigo, (Producto.Producto) as Producto, (Producto.Cantidad) as Cantidad, (Producto.Ubicacion) as Ubicacion, (Producto.Descripcion) as Descripcion, (Producto.PrecioC) as PresioCompra, (Producto.PrecioV) as PrecioVenta, (Categoria.Categoria) as Categori FROM Producto, Categoria where Producto = '" & TextBox1.Text & "' AND Producto.CodCat = Categoria.CodCat ")
    rData = hCon.Exec(cSql)
    GridView1.columns.count = rData.Fields.Count  'Número de columnas= a nmúero de campos
    For n = 0 To rData.Fields.count - 1
      GridView1.columns[n].width = 300 'en principio le damos a todos el mismo ancho. Se puede calcular según el ancho del campo... pero eso queda fuera del ejemplo.
      i = InStr(rData.Fields[n].name, ".")        'Buscamos si tiene o no punto en el nombre
      GridView1.columns[n].text = IIf(i > 0, Mid(rData.Fields[n].name, i + 1), rData.Fields[n].name)  'cabecera de la columna = nombre de campo o última parte del nombre si contiene puntos
   Next
    GridView1.rows.count = rData.Count      'Número de filas del gridview= número de registros
    rData.MoveFirst     'nos situamos en el primero
 

 



 
última edición por shordi el Jueves, 27 Junio 2013, 09:46; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con GridView 
 
gracias amigo probare el codigo!! yo también pensé que era la coneccion, pero ya veo que siempre tienes un  as bajo la manga! eres genial! gracias


aaaahhh!! estaba pensando en otra alternativa que aun no he probado, pero primero probare tu codigo amigo y luego pruebo mi alternativa


mi otra salida al problema era hacer manual la sentencia FOR

GridView1.Rows.Count = resProductos.Count
    'Asignamos la cabecera de la tabla
    GridView1.Columns[0].Text = "Codigo"
    GridView1.Columns[0].Width = 100  
    GridView1.Columns[1].Text = "Producto"
    GridView1.Columns[1].Width = 100
    GridView1.Columns[2].Text = "Cantidad"
    GridView1.Columns[2].Width = 100
    GridView1.Columns[3].Text = "Ubicacion"
    GridView1.Columns[3].Width = 100  
    GridView1.Columns[4].Text = "Descripcion"
    GridView1.Columns[4].Width = 100
    GridView1.Columns[5].Text = "Precio de Compra"
    GridView1.Columns[5].Width = 100
    GridView1.Columns[6].Text = "Precio de Venta"
    GridView1.Columns[6].Width = 100  
    GridView1.Columns[7].Text = "Categoria"
    GridView1.Columns[7].Width = 100
    GridView1.Columns[8].Text = "Marca"
    GridView1.Columns[8].Width = 100
    GridView1.Columns[9].Text = "Proveedor"
    GridView1.Columns[9].Width = 100  

    'Jalamos los datos desde el Objeto Result resProductos hacia el GridView
    'Mientras hayan filas en el Result
    Do While resProductos.Available
       GridView1[filP, colP].Text = resProductos["IDP"]
       colP = 0
       GridView1[filP, colP].Text = resProductos["Producto"]
       colP = 1
       GridView1[filP, colP].Text =  resProductos["Cantidad"]
       colP = 2
       GridView1[filP, colP].Text = resProductos["Ubicacion"]
       colP = 3
       GridView1[filP, colP].Text = resProductos["Descripcion"]
       colP = 4
       GridView1[filP, colP].Text = resProductos["PrecioC"]
       colP = 5
       GridView1[filP, colP].Text = resProductos["PrecioV"]
       colP = 6
       GridView1[filP, colP].Text = resProductos["CodCat"]
       colP = 7
       GridView1[filP, colP].Text = resProductos["CodMarc"]
       colP = 8
       GridView1[filP, colP].Text = resProductos["CodProv"]
       colP = 9


tratando de ajustar el codigo
 



 
última edición por soldadozero el Jueves, 27 Junio 2013, 23:26; editado 2 veces 
soldadozero - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Problema Con Ordenamiento De GridView demonshack Controles/Librerías/Componentes 2 Martes, 31 Agosto 2010, 17:25 Ver último mensaje
jsbsan
No hay nuevos mensajes Problema Con El Evento Data De GridView. D... Shell General 15 Sabado, 22 Noviembre 2014, 00:21 Ver último mensaje
Shell
No hay nuevos mensajes Error En GridView rescobar Aplicaciones/Fragmentos de Código 2 Martes, 17 Octobre 2017, 10:52 Ver último mensaje
rescobar
No hay nuevos mensajes El Control GridView soplo Controles/Librerías/Componentes 5 Viernes, 28 Enero 2011, 18:47 Ver último mensaje
femsalut
 

Publicar nuevo tema  Responder al tema  Página 3 de 3
Ir a la página Anterior  1, 2, 3

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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
No puede descargar archivos
No puede publicar eventos en el calendario