Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Porque recorrer el DBGrid, cuando puedes recorrer la tabla mucho mas facil?
__________________
[Crandel]
Responder Con Cita
  #2  
Antiguo 01-08-2005
Avatar de oracle
oracle oracle is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Poder: 22
oracle Va por buen camino
Thumbs up

Estuve analizando tu pregunta porque una vez necesite hacer lo mismo, pero al final desistí, lo que hice fue implementar todas las búsquedas en la BD.

Pero de todas formas para acceder a un dato en un DBGrid puedes utilizar la propiedad Filds cuando tengas una celda activa(seleccionada). Por ejemplo DBGrid1->Fields[4]->Text; suponiendo que en la posición 4 este el campo flag del que me hablas y a partir de ahí lo comparas con lo que quieras. Ahora recorrerlo es otra cosa... si me entero te lo mando..
/*Saludos*/
__________________
El único hombre que no se equivoca es el que nunca hace nada.
Responder Con Cita
  #3  
Antiguo 01-08-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
Lightbulb

Ojala lo puediera hacer en la tabla, que mas quisiera yo pero para eso debo hacer lo siguiente:

Buenos dias foro:

Tengo un problemita que no he podido solucionar y ya me empezo a deseperar.

Resulta que necesito modificar un campo de mi tablas subcomp, pero es que la tabla subcomp tiene muchas complicaciones por que los datos son asi:

item nombre_atributo codigo_prod valor nombre_especifico consecutivo flag
1 Color 100 av79 Televisor sony 80 0
1 Marca 100 Sony Televisor sony 81 0
1 Modelo 100 Triniton Televisor sony 82 0

Entonces necesito es que me muestre solo uno de estos registros asi

consecutivo nombre_especifico flag
80 Televisor sony 0

Código SQL [-]
select distinct consecutivo, nombre_especifico, flag from subcomp

pero lo que no se como hacer es el ModifySql del dataset para que solo me modifique el consecutivo 80 y no todos los que tengan como nombre especifico Televisor Sony.
O si hubiera algo que pudiera hacer Gracias, al que me ayude le prometo que hay cerveza por montones
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas

Última edición por el_barto fecha: 01-08-2005 a las 20:25:01.
Responder Con Cita
  #4  
Antiguo 01-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
No entiendo muy bien que tiene que ver lo que escribiste en la última respuesta respecto a la última.

pero si lo que queres es actualizar un registro podes hacer:
Código SQL [-]
     UPDATE subcomp
     SET nombre_especifico= nombre, flag = flag
     WHERE consecutivo= cons;

es esto lo que necesitas??
__________________
[Crandel]
Responder Con Cita
  #5  
Antiguo 01-08-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
es que yo decia como recorrer la grilla dado que no he podido modificar solo un registro, para despues recorrer la tabla ,en el ejemplo todos tienen como nombre especifico Televisor Sony yo necesito que en una grilla solo me muestre uno de los tres y que cuando lo modifique solo me modifique en este caso solo el consecutivo 80, por que cuando modifica siempre modifica a todos los que tengan el nombre_especifico Televisor Sony.

En el modify de mi dataset agregue la linea que me sugeriste y en el select deje la linea que yo tenia pero ahora ya no me modificaaaaa.

Entonces no se como hacer para hacer el distinct y que solo me modifique 1 registro por cada nombre_especifico

Ojala esta vez si me hubiese hecho entender
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #6  
Antiguo 02-08-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Cita:
Empezado por el barto
yo necesito que en una grilla solo me muestre uno de los tres y que cuando lo modifique solo me modifique en este caso solo el consecutivo 80
¿Puedes saber de antemano cual quieres modificar?
- Si es así, añade en el SELECT, la clave unica de ese producto, así solo muestras 1 producto en el resultado. En el modifySQL añades la misma restricción.
- Si no es así, deberás esperar que el usuario haga clic en uno de los resultados, y despues pasarle la clave unica en el modifySQL

Yo al menos, no sé si el consecutivo es único o no. Si utilizas la claúsula distinct en el select, es que puede haber varios

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 02-08-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
No en realidad consecutivo es solo una bandera que usamos para manejar el item, consecutivo no se repite nunca, pero las llaves primarias de esta tabla que quiero modificar es:

item, nombre_atributo, codigo_comp
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:29:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi