Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-08-2011
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 16
danielmj Va por buen camino
salida de indice al borrar

hola,

el siguiente codigo, recorre la tabla en busca de unos apellidos y nombre, cuando lo encuentra debe borrarlos previo mensaje de aviso al usuario...

Código Delphi [-]
procedure Tformulario1.sButton2Click(Sender: TObject);
var
  j: integer;
  ape,nom: string;

begin
 //i:= lista2.ItemIndex;
  for j := 0 to adotabla.FieldCount - 1 do
    begin
      ape:= adoTabla.FieldByName('APELLIDOS').AsString + ' ';
      nom:= adoTabla.FieldByName('NOMBRE').AsString;
      if lista2.items.Strings[j] = ape+nom then   //aqui salida de indices
        adotabla.delete;
    end;
  adotabla.Close;
end;

Borrar borra, pero no lo hace de manera muy limpia y aunque borra el registro, devuelve el mensaje de error "salida de indices...." que he marcado en negrita.

Espero podais ayudarme, un saludo y gracias
Responder Con Cita
  #2  
Antiguo 20-08-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Hola, esto no tiene nada que ver con "Conexión con bases de datos", lo paso a "Varios", y recuerda seguir nuestras normas, gracias.
Responder Con Cita
  #3  
Antiguo 22-08-2011
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 16
danielmj Va por buen camino
buenos dias,

perdona casimiro noveti, pero como el fondo de mi pregunta esta relacionado con la base de datos de donde se deben borrar los registros, pense y decidi (como dicen las normas) que ese era el sitio indicado. Si no es asi, me disculpo por ello, es de ser humilde reconocer nuestros errores.

Y sobre mi pregunta, a ver si alguien puede echarme una mano por que me he quedao pillao en este punto.

un saludo y gracias.
Responder Con Cita
  #4  
Antiguo 22-08-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Hola, no hay problema, todos nos equivocamos y yo el primero

En relación a tu pregunta, ¿por qué no lo haces directamente con sql?, o sea, algo así como:

Código Delphi [-]
dataset.close;
dataset.sql.text:='delete from tabla where nombre= :nombre and apellido= :apellido';
dataset.params[0]:=adoTabla.FieldByName('nombre').AsString;
dataset.params[1]:=adoTabla.FieldByName('apellido').AsString;
dataset.execquery;
Responder Con Cita
  #5  
Antiguo 22-08-2011
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Hola,

no sé, a bote pronto me chirría la línea
Código Delphi [-]
  for j := 0 to adotabla.FieldCount - 1 do

No recorres la tabla, sino los campos de la misma.

No será
Código Delphi [-]
  for j := 0 to adotabla.RecordCount - 1 do

Si te da error de indices, seguramente será del stringGrid, que no tiene tantos elementos como campos tu tabla.

Prueba a ver.... y nos cuentas.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #6  
Antiguo 26-08-2011
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 16
danielmj Va por buen camino
buenas...

estoy frito ya con esto ehh, he tardao en contestar por que intento hacer que funcione pero nada. Lo que hago es comparar el cliente marcado con un checkbox en un checklistbox con los valores de la variable "apenom" en la que previamente he metido los datos de

Código Delphi [-]
adotabla.fieldbyname('APELLIDOS').AsString;
y
Código Delphi [-]
adotabla.fieldbyname('NOMBRE').AsString;

si son iguales, borra de la tabla el cliente seleccionado, hasta ahi la teoria, pero no consigo que corra.

Alguna idea?
un saludo y gracias.
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
Entrada RA0, salida RB0 REHome ASM y Microcontroladores 2 02-03-2008 18:21:48
Redirigir salida de lpt a usb zugazua2001 Varios 1 30-11-2006 21:21:58
Borrar lineas detalle al borrar registro maestro akinom38 Conexión con bases de datos 3 11-01-2006 10:38:07
borrar los campos de un DBGrid sin borrar los titulos de las columnas Torreblanca OOP 2 02-08-2005 00:12:52
Orden de Salida kwan Varios 7 09-12-2003 02:11:31


La franja horaria es GMT +2. Ahora son las 11:29:34.


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