Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por Caro Ver Mensaje
Holitas

Marcelo el Clear no borra una fila o columna, lo que hace es limpiar la columna o fila.

Para borrar una fila de un StringGrid debes utilizar el procedimiento DeleteRow donde le pasas como parametro la fila a eliminar, pero como es un metodo protegido, primero defines un nuevo tipo que herede de un TStringGrid.

Código Delphi [-]type StringG = class (TStringGrid); ......................... ......................... procedure TForm1.ButtonBorrarClick(Sender: TObject); begin //En este caso te eliminara la fila actual del StringGrid StringG(StringGrid1).DeleteRow(StringGrid1.Row); end;
Muy buena aclaración Caro,
Tienes razón, yo estaba entendiendo a que "Borrar" se refiere a limpiar el contenido de la fila o columna.

Sería oportuno que Elite237 nos haga saber si por borrar se refiere a eliminar, o por el contrario a limpiar el contenido. De ese modo sabré si lo estado aconsejando mal.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 27-10-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 19
Elite237 Va por buen camino
Hola delphius y caro...si, lo que quiero es borrar toda la fila. Delphius no es limpiar el contenido sino borrar toda la fila.Y el update lo quiero hacer para una sola fila, osea que el usuario edite en el stringgrid.Gracias por contestar.Saludos
Responder Con Cita
  #3  
Antiguo 27-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Cita:
Empezado por Elite237 Ver Mensaje
no es limpiar el contenido sino borrar toda la fila.Y el update lo quiero hacer para una sola fila,
Hola, con lo que he puesto arriba, ya tendrías ambas cosas, pero como te digo tienes que aumentar una condición a tu update, supongo que cada fila esta identificada por un codigo, entonces en el Where del Update pondrías la condición por ese codigo, para que no modifique todos los registros de tu tabla sino solo el registro que tenga ese codigo.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 27-10-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 19
Elite237 Va por buen camino
Hola caro, quitando el for...en mi update, si lo hago bien?osea se que me falta el where, pero aparte de eso quiero saber si estoy asignando correctamente los valores a los campos de mi BD.En caso de que este mal, me puedes decir donde esta mi error?
Código Delphi [-]
query1.sql.add('update tevaluacion set (eval_descripcion,eval_nivel,eval_ult_version,eval_ver_usada)');
   query1.sql.add('values(eval_descripcion,eval_nivel,eval_ult_version,eval_ver_usada)');
   query1.Params.ParamByName('eval_descripcion').asstring:=(sgEvaluacion.Cells[1,i]);
   query1.Params.ParamByName('eval_nivel').asstring:=(sgEvaluacion.Cells[2,i]);
   query1.Params.ParamByName('eval_ult_version').asstring:=(sgEvaluacion.Cells[3,i]);
   query1.Params.ParamByName('eval_ver_usada').asstring:=(sgEvaluacion.Cells[4,i]);
Responder Con Cita
  #5  
Antiguo 27-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Cita:
Empezado por Elite237 Ver Mensaje
........ pero aparte de eso quiero saber si estoy asignando correctamente los valores a los campos de mi BD.En caso de que este mal, me puedes decir donde esta mi error?

Debes cambiar el i por Row ya que con la propiedad Row del StringGrid obtienes la fila actual y no necesitas el ciclo for, ahora si quieres armar las columnas talvez, pero también puedes acceder directamente a las columnas de la fila actual, como te puse arriba.

Código Delphi [-]
query1.ParamByName('eval_descripcion').asstring:=sgEvaluacion.Cells[1,sgEvaluacion.Row];
query1.ParamByName('eval_nivel').asstring:=sgEvaluacion.Cells[2,sgEvaluacion.Row];
query1.ParamByName('eval_ult_version').asstring:=sgEvaluacion.Cells[3,sgEvaluacion.Row];
query1.ParamByName('eval_ver_usada').asstring:=sgEvaluacion.Cells[4,sgEvaluacion.Row];

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 27-10-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 19
Elite237 Va por buen camino
Ok..Gracias Carito..lo hare como me dices mas adelante te digo como voy en mi desarrollo.Gracias por tu tiempo.
Responder Con Cita
  #7  
Antiguo 27-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Elite237, disculpame pero no se de que modo decirte que la consulta SQL está mal hecha, una instrucción SQL de UPDATE no se escribe así.

Es así:

Código SQL [-]
UPDATE tu_tabla SET Campo1 = Parametro1, Campo2 = Parametro2, ..., CampoN = ParametroN WHERE ....

La verdad es que desde la mitad del hilo te estado llamando la atención al respecto del tema. No se de que modo hacerme entender.

Por el otro lado, siempre y cuando en esa variable "i" que tienes en tu código referencie a la fila en cuestión no veo problemas. Lo que si veo que está demás son esos paréntesis cuando haces el paso de los valores a los parámetros.

Como te mencionaba Caro, la consulta UPDATE debe ir con una cláusula de condición. Sin ella lo que consigues es cambiar EN TODOS LOS REGISTROS DE LA TABLA.
Por ello Caro habla de que debes tener de algún modo relacionado a la fila i-ésima con el código del registro al que representa. Es decir que debe haber alguna correspodencia entre las filas y el campo "identificador" en la tabla.

Por darte un ejemplo:
Fila 1 -> corresponde al registro cuyo ID es 100
Fila 2 -> corresponde al registro cuyo ID es 287

Generalmente este ID no cambia (no debería cambiar) y una manera sencilla para evitar que el usuario lo cambie, es que cuando vuelcas los datos al TStringGrid, a la columna 0 (esa columna gris y fija que no se puede modificar) la emplees para "mostrar" ese ID. De este modo en la celda [0,i] tenés "guardado" el ID y lo puedes emplear para ponerlo en la condición; por ejemplo algo asi:
Código SQL [-]
UPDATE tabla SET Campo = Parametro, ... , CampoN = ParametroN WHERE ID = PARAMETRO_ID

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 27-10-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 19
Elite237 Va por buen camino
Hola Delphius, ya entendi..disculpa mi ignorancia. Ya capte tanto la idea, como la forma de hacer un update.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
Pintar celdas StringGrid cacu OOP 4 24-10-2007 17:22:21
desplazarme en celdas de un stringgrid sexshop_3 Varios 4 27-08-2007 00:54:31
StringGrid + celdas Makiley Varios 4 01-02-2006 13:01:15
combinar celdas de StringGrid VRO Varios 2 21-04-2005 08:02:16
bloquear celdas en un stringgrid ciscu Gráficos 1 18-12-2003 18:34:50


La franja horaria es GMT +2. Ahora son las 01:23:07.


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