Fórum Problemas com exportação e importação usando DBMemo #256896

02/11/2004

0

Estou usando um DBMemo, se os dados salvos é de apenas uma linha tudo bem, mas se eu pulo uma linha ele grava dois quadrados no banco de dados, quando eu exporto esses dados para um arquivo texto eu consigo importar somente quando eu tenho registro de apenas um linha dos campos que foram usados componentes DBMemo, se alguns dados que foram exportados conter esses registros com quadrados, ou seja dados que foram usados mais de uma linha no DBMermo, eles retornam erros, o pg fica instavel, como se estivesse fazendo uma busca.
Porque quando dou enter e salvo um DB ele faz isso, como resolver o problema da importação desses dados.


Zotti

Zotti

Responder

Posts

02/11/2004

Edilcimar

mostre o fonte para que alguém tente achar o erro


Responder

Gostei + 0

02/11/2004

Zotti

o codigo fonte,
aqui ele exporta dados que foram entroduzidos em um db pelo componente DBMemo

procedure TBL.SpeedButton11Click(Sender: TObject);
var
namebl : string;
Arq: TextFile;
begin
PageControl1.ActivePageIndex := 0;
if SaveDialog1.Execute then
begin
Screen.Cursor := crHourGlass;
with DmGlobal.Tblbl   do
begin
repeat
AssignFile(Arq, SaveDialog1.FileName);
ReWrite(Arq);
WriteLn(Arq,FieldByName(´NRBL´).AsString + ´|´ +
FieldByName(´SAILED_DATE´).AsString + ´|´ +
FieldByName(´SH_SHIPPER´).AsString + ´|´ +
FieldByName(´CONSIGNEE´).AsString + ´|´ +
FieldByName(´NOTIFY´).AsString + ´|´ +
FieldByName(´ALSONOTIFY´).AsString + ´|´ +
FieldByName(´VESSEL´).AsString + ´|´ +
FieldByName(´VOYAGE´).AsString + ´|´ +
Edit;
namebl:= SaveDialog1.filename;
DmGlobal.TblblDiretorio.asstring:= namebl;
Post;
Last;
PageControl1.ActivePageIndex := 0;
until EOF;
CloseFile(Arq);
end;
Screen.Cursor := crDefault;
end;
end;

Aqui ele importa
procedure TBL.SpeedButton12Click(Sender: TObject);
var
Arq: TextFile;
Texto: String;
I: Integer;
function MontaVariavel: String;
var
monta: String;
begin
monta := ´´;
inc(I);
while Texto[I] <> ´*´ do
begin
if Texto[I] = ´|´ then
break;
monta := monta + Texto[I];
inc(I);
end;
result := monta;
end;
begin
if OpenDialog1.Execute then
begin
Screen.Cursor := crHourGlass;
DmGlobal.Tblbl.Open;
AssignFile(Arq, OpenDialog1.FileName);
Reset(Arq);
if not EOF(Arq) then
repeat
ReadLn(Arq,Texto);
with DmGlobal.Tblbl do  
begin
Edit;
i := 0;
FieldByName(´NRBL´).AsString := MontaVariavel;
FieldByName(´SAILED_DATE´).AsString := MontaVariavel;
FieldByName(´SH_SHIPPER´).AsString := MontaVariavel;
FieldByName(´CONSIGNEE´).AsString := MontaVariavel;
FieldByName(´NOTIFY´).AsString := MontaVariavel;
FieldByName(´ALSONOTIFY´).AsString := MontaVariavel;
FieldByName(´VESSEL´).AsString := MontaVariavel;
FieldByName(´VOYAGE´).AsString := MontaVariavel;
Last;  end;
until EOF(Arq); 
CloseFile(Arq);
Screen.Cursor := crDefault;
end;
end;

Bem estou usando uma função, para importar os dados de um arquivo txt, e os campos mencionados são campos de dados gerados de DBMemo.


Responder

Gostei + 0

02/11/2004

Aroldo Zanela

Colega,

Tente o seguinte:

(qCadastro.FieldByName(´campo_blob´) as TBlobField).Assign( ... origem ...)


Da forma acima, você pode armazenar qualquer ´coisa´ no banco, como: executáveis, PDFs, Docs, Zips, ou seja, até texto simples.


Responder

Gostei + 0

02/11/2004

Zotti

Como declarar a origem neste caso, não entendi...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar