Ver Mensaje Individual
  #5  
Antiguo 14-08-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Reputación: 30
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, lo mas normal es que tu aplicación tenga descendientes de TDataSet, entonces hice estas dos funciones, que te devuelven la cadena insert, tu diras si te sirven:

Código Delphi [-]

function DatoFormateado(const Campo: TField): String;
begin
  if (Campo is TStringField) or (Campo is TDateField) then
  begin
    Result := ''''+Campo.AsString+'''';
  end
  else
    Result := StringReplace(Campo.AsString, ',', '.', [rfReplaceAll]);
end;

function ExportarInsert(DataSet: TDataSet; Tabla: String): String;
var
  i :Integer;
  cadena :string;
begin
  cadena := '';
  cadena := 'insert into '+Tabla+' values(';
  for i := 0 to DataSet.FieldCount -1 do
  begin
    cadena := cadena + DatoFormateado(DataSet.Fields[i]);
    if ((DataSet.FieldCount -1) = i) then
      cadena := cadena + ')'
    else
      cadena := cadena + ',';
  end;
  Result := cadena + ';';
end;

Solo es cuestion de que pongas a recorrer cualquier DataSet y exportes los resultado de la función ExportarInsert en un archivo, un ejemplo de esto es:

- Coloque un TMemo y una tabla, a los cuales se les hace esto:

Código Delphi [-]
Tabla1.First;
Memo1.Lines.Clear;
while not Tabla1.Eof do
begin
  Memo1.Lines.Add(ExportarInsert(Tabla1, 'TablaPrueba'));
  Tabla1.Next;
end;

Espero te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita