Ver Mensaje Individual
  #1  
Antiguo 12-04-2010
pdimasi2008 pdimasi2008 is offline
Registrado
 
Registrado: feb 2008
Posts: 7
Reputación: 0
pdimasi2008 Va por buen camino
Problemas con TStringList

Buenas tardes les quisiera hacer la siguiente consulta,quisiera borrar las filas que el usuario selecciona en un dbgrid; bien creo un objeto , entonces instancio el mismo tantas filas el usuario haya seleccionado, los atributos de dicho objeto son : CodigoM, DescripcionM,RevisionM; asi tambien se llamaran las cabeceras de las columnas de ese dbgrid.
bien ,para esto utilizo un TStringList,instancio los objetos los cargos en la lista,pero..cuando quiero hacer un delete en la base de datos (Access) me tira error.... les paso el codigo:
y muchas gracias!
Código Delphi [-]
var
 sSQL: string;
 Manuales: TManuales;
 i,j,w: integer;
 FabManual:  TManualFactory;
 lista: TStringList;
 Marca: TBookmarkStr;
 MarcaLista: TBookmarkList;
 begin
   Marca:= self.DataSource1.DataSet.Bookmark;
   MarcaLista:= self.DBGridMan.SelectedRows;
   lista:= TStringList.Create;
   try
     for i:= 0 to MarcaLista.Count -1 do
     begin
      for j:= 0 to self.DBGridMan.Columns.Count-1 do
      begin
       lista.AddObject(self.DBGridMan.Fields[j].Text,FabManual.getInstance);
       self.DataSource1.DataSet.Bookmark:= MarcaLista[i]
      end;
    end;
    finally
     self.DataSource1.DataSet.Bookmark:= Marca;
   end;
  for w:= 0 to lista.Count do
  begin
    self.ADODataSet1.Close;
    self.ADODataSet1.Connection:= ADOConnection1;
    ADOConnection1.Open;
    sSQL:= 'delete from MANUALESPRODUCTO ' + ' where PLN_CODIGO = ' + QuotedStr((lista.Objects[w] as TManualFactory).CodigoM)+ 'and PLN_NRO_REV = ' +IntToStr((lista.Objects[w] as TManualFactory).RevisionM)
 'and PLN_DESCRIPCION = ' + QuoTedStr((lista.Objects[w] as TManualFactory).DescripcionM);
   ADOConnection1.Execute(sSQL);
    ADOConnection1.CommitTrans;
   
end;
 end;
les paso la unit donde creo los objetos...
Código Delphi [-]
TManualFactory = class(TObject)
  private
    FCodigoM: string;
    FDescripcionM: string;
    FRevisionM: integer;
    constructor Create;
  public
    class function getInstance: TManualFactory;
    property CodigoM: string read FCodigoM write FCodigoM;
    property DescripcionM: string read FDescripcionM write FDescripcionM;
    property RevisionM: integer read FRevisionM write FRevisionM;
    end;
implementation
var
 ManualFactory: TManualFactory;
 constructor TManualFactory.Create;
 begin
  self.FCodigoM:= '';
  self.FRevisionM:= 0;
  self.FDescripcionM:= '';
 end;
 class function TManualFactory.GetInstance: TManualFactory;
 begin
   Result:= ManualFactory;
 end;
initialization
 ManualFactory:= TManualFactory.Create;
finalization
 ManualFactory.Free;
end.
Responder Con Cita