Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-01-2006
adelaida adelaida is offline
Registrado
 
Registrado: oct 2005
Posts: 5
Poder: 0
adelaida Va por buen camino
Problemas con DBGrid

Hola una pregunta y un favor...

Estoy manejando DBexpress y Mysql 5.0 estoy realizando una consulta sencilla utilizando un parametro.

estoy utilizando un :

TSQLConnection + SQLQuery + Data SetProvider + ClientDataSet+ DataSource

todos estan conectados perfectamente.

Pero tengo un dbgrid y un Tedit llamado nom.

en el evento OnKeyPress de mi Tedit tengo el siguiente codigo...



procedure TConsulta_p.nomKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
SQLQuery1.Close; SQLQuery1.ParamByName ('NOMBRE').AsString := nom.Text;
SQLQuery1.Open;
key :=#0;
nom.SelectAll;
end;
end;

Tengo en el TSQLQuery dado de alta en la propiedad params un parametro que se llama NOMBRE y en la propiedad SQL tengo lo siguiente

SELECT id_paciente, apellidop, apellidom from pacientes WHERE nombre=:NOMBRE

quiero consultar enviando el parametro nombre y que me salga en el DBGrid el registro de esa persona.....


El problema que tengo es que el DBGrid no me refresca, es decir en Tedit coloco el parametro por el cual voy a consultar y no me refresca no me muestra nada... pero tampoco me manda errores...

Creo que mi problema es el DBGrid que no me enseña o refresca los registros que estoy consultando...


Gracias de antemano por su atención.
Responder Con Cita
  #2  
Antiguo 25-01-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿con "DBGrid.Refresh" será suficiente?
__________________

Responder Con Cita
  #3  
Antiguo 27-01-2006
Avatar de buildero_d
buildero_d buildero_d is offline
Miembro
 
Registrado: sep 2005
Ubicación: Puebla, México
Posts: 37
Poder: 0
buildero_d Va por buen camino
Que tal,

Pues nunca he trabajado con DBExpress, pero te recomendaria que trabajaras con los componentes ADO para explotar MySQL.

Si todo está bien conectado en teoría te deberia mostrar los datos, a menos de que no tengas nada de información.

Saludos
Responder Con Cita
  #4  
Antiguo 01-06-2007
eugeniosm eugeniosm is offline
Registrado
 
Registrado: may 2007
Ubicación: Santiago de Chile
Posts: 9
Poder: 0
eugeniosm Va por buen camino
Post ir al ultimo registro de un bdgrid

hola, soy nuevo en delphi y estoy haciendo mi primer programa en delphi 7
con base de datos acces, todo lo que e hecho es gracias a las respuestas que dan en este foro, ojala puedan ayudarme.
Tengo un dbgrid asociado a una tabla de una BD access y funciona agregando y eliminado y modificando pero al agregar datos me muestra un registro al comienzo de la tabla y el mismo al final como puedo hacer para que cuando refresque el dbgrid se valla al ultimo registro del dbgrid, osea, al que agrege al ultimo, es una base con un campo autonumerico
Responder Con Cita
  #5  
Antiguo 01-06-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Ir al ultimo registro de un DbGrid

Puedes utilizar El Locate del Query, por ejemplo supongamos que tenemos una tabla llamada "Datos", con un campo Autonumerico llamado "CodDato" y que el ultimo registro ingresado fue el 100 , entonces podriamos utilizar un LOCATE del componente Query para ubicar en la grilla el registro seleccionado ( en este caso el Último registro )..


Código Delphi [-]
 
/*********************************************************
function ObtenerDato(Consulta: String): Variant;
begin
     TRY
        QueryLocal.SQL.Clear;
        QueryLocal.SQL.Text:=Trim(Consulta);
        QueryLocal.Open;
         IF QueryLocal.RecordCount > 0 THEN
           Result:=QueryLocal.Fields[0].Value
        ELSE
           Result:='0';
     FINALLY
        QueryLocal.Close;
     END;
end;
/*********************************************************
Procedure ResfrecarGrilla;
Var
  UltimoNumero : Integer;
 
begin
  UltimoNumero:=ObtenerDato('Select Max(CodDato) From Datos')
  Query.Locate('CodDato',UltimoNumero,[]);
 
end;
/*********************************************************
Responder Con Cita
  #6  
Antiguo 01-06-2007
eugeniosm eugeniosm is offline
Registrado
 
Registrado: may 2007
Ubicación: Santiago de Chile
Posts: 9
Poder: 0
eugeniosm Va por buen camino
Problemas con DBGRID

despues de leer la respuesta me doy cuenta que ni siquiera soy novato en delphi.. es decir estoy en pañales todabia...
no entendi nada lo del query...
resumo lo que quiero hacer mejor...
tengo una tabla prooveedores y le asocien un dbgrid para que me muestre los registros y con unos edit agrego y modifico los registros...
todo funciona .. solo que visualmente cuando agrego un registro en el DBgrid se me agrega un registro en la primera fila y al grabarlo se agrega al ultimo pero no me borra la fila que se crea al principio.. entonces la idea mia es que cuando grabe y refresque el dbgrid la fila seleccionada o el dBgrid quede mostrando el registro agregado...
Responder Con Cita
  #7  
Antiguo 01-06-2007
eugeniosm eugeniosm is offline
Registrado
 
Registrado: may 2007
Ubicación: Santiago de Chile
Posts: 9
Poder: 0
eugeniosm Va por buen camino
Problemas con DBGRID

aah y gracias por responder....
para mas informacion ...
la version delphi que uso es la 7 y msacces 2003
todo lo que he hecho de mi sistema de bodega lo he hecho leyendo las respuestas de ustedes...
espero de aqui a un par de meses poder tambien aportar con lo que aprenda aqui...
Responder Con Cita
  #8  
Antiguo 01-06-2007
eugeniosm eugeniosm is offline
Registrado
 
Registrado: may 2007
Ubicación: Santiago de Chile
Posts: 9
Poder: 0
eugeniosm Va por buen camino
Solucion a un Problema de DBGRID

Gracias , por responder ... pero encontre la solucion al problema de DBGRID que me mostraba una linea al comienso del dbgrid...
aunque igual me grababa el registro en el DBgrid aunque aplicaba el refresh no se borraba la fila que se me insertaba al comienso del dbgrid...

pero lo solucione
desactivando y activando el dbgrid

DataSource1.DataSet.Active := false;
DataSource1.DataSet.Active := true ;
y listo...
el dbgrid solo me muestra los datos en la tabla

gracias, de todas maneras...
mas adelante cuando este en los reportes necesitare mas ayuda con los query .. que no se que son y no se como se ocupan pero aprendere
Responder Con Cita
  #9  
Antiguo 01-06-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Hola...
El dbGrid esta sociado a un Query Verdad (Por ejemplo AdoQuery1), bueno este query tiene la propiedad LOCATE que te permite localizar un determinado registro, entonces como tienes una tabla con un campo clave, debes rescatar el valor de ese campo clave al Ingresar o actualizar un registro, podria ser de la siguiente manera ..

Código Delphi [-]
 
begin

      //Datos(Tabla), CodDato(Campo Clave), Descripcion(Campo) 
      //por ejemplo si actualizamos un registro...
 
      Sql:='';
      Sql:='Update Datos Set Descripcion = ''DESCRIPCION MODIFICADA''';
      Sql:=Sql + ' Where CodDato= ' + Trim(EditCodDato.Text);
      Query1.SQL.Clear;
      Query1.SQL.Text:=Trim(Sql);
      Query1.ExecSQL;

      AdoQuery1.Locate('CodDato',EditCodDato.Text,[]);
 
       //Donde EditCodDato es el "Edit" que tiene asociado el valor del campo 
       //clave, en este caso "CodDato"
Responder Con Cita
  #10  
Antiguo 20-06-2007
Froi™ Froi™ is offline
Registrado
 
Registrado: jun 2007
Posts: 1
Poder: 0
Froi™ Va por buen camino
Columnas del Dbgrid

Que tal? Acabo de ingresar al foro y espero no violar ninguna regla...

Mi problema parece ser sencillo, pero no doy con la solucion:

Tengo un Dbgrid conectado a un DataSource y éste a una Ttable y, aunque todo es funcionalmente correcto, a la hora de mostrar los datos, una columna me ocupa todo el espacio del componente y las demas columnas las tengo que ver con el scroll...

Como hago para que me ajuste todas las columnas al espacio del Dbgrid y no aparezcan los scroll? Si son tan amables de darme una ayuda, por favor...

Gracias por la atencion y saludos...
Responder Con Cita
  #11  
Antiguo 20-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bienvenido Froi™, en lo sucesivo será mejor que abras un hilo propio para tus preguntas ya que ésta no parece tener mucha relación con el resto del hilo.

Por ahora te contesto comentándote que el dbgrid intentará ajustar sus columnas según la infomación que venga de la base de datos. Así, por ejemplo, si tienes un campo caracter de longitud 100, el dbgrid ajustará el ancho de la columna correspondiente a esa cantidad de caracteres. Para evitar eso, abre el editor de columnas del grid (doble click sobre el gridl), y en el menú contextual escoge la opción "Add all fields". A partir de eso, puedes ajustar el ancho de las columnas, ya sea directamente en el dbgrid o en el inspector de objetos, y el ancho que fijes, será el ancho que obtengas al momento de ejecutar la aplicación, esto, es el dbgrid ya no ajustará el ancho por su cuenta.

// Saludos
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con DBGrid.... Anabel Conexión con bases de datos 3 05-01-2006 00:04:00
Problemas para actualizar ADO con Dbgrid con puro Codigo JanoRod Conexión con bases de datos 5 25-08-2005 18:29:32
Problemas con Dbgrid y Tablas con CachedUpdates a True siras OOP 0 20-06-2005 10:08:59
Problemas al guardar desde DBGrid y variable... Phacko Conexión con bases de datos 0 22-03-2005 03:54:35
Problemas con DBGrid ramonibk MS SQL Server 7 05-07-2004 13:06:11


La franja horaria es GMT +2. Ahora son las 09:02:53.


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