Ver Mensaje Individual
  #17  
Antiguo 27-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Holitas

Cita:
Empezado por Delphius Ver Mensaje
StringGrid1.Cols[Numero].Clear;
// o bien...
StringGrid1.Rows[Numero].Clear;

Lo que hace el Clear es borrar TODA la fila o clumna, según sea el caso.
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;

Sobre actualizar, como te dice Marcelo, esta mal la sintaxis del update, supongo que quieres actualizar la fila actual, si es así no necesitas el ciclo.

Código Delphi [-]
procedure TForm1.BitBtnModificarClick(Sender: TObject);
var
i:integer;
begin
 
for i:=1 to sgEvaluacion.ColCount -1 do
  //que es lo que quieres hacer con esta linea ya que te va a cambiar
 //el valor de la columna 1 y fila i 
  sgEvaluacion.cells[1,i]:=IntToStr(i);

 
query1.close;
query1.sql.clear;
query1.sql.add('update tevaluacion set eval_descripcion=:eval_descripcion, eval_nivel=:eval_nivel, ');
query1.sql.add('eval_ult_version=:eval_ult_version, eval_ver_usada=:eval_ver_usada');

//Row es la fila actual
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]);

try
  query1.execsql
except
............

Ahora no se si tu quieres actualizar todas las filas de tu StringGrid, de la forma que esta tu ciclo, se va actualizar la cantidad que tienes en ColCount y la fila i.

No te olvides poner una condición a tu update, sino la actualización se hara para todos tus registros.

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