Problemas com exportação e importação usando DBMemo
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.
Porque quando dou enter e salvo um DB ele faz isso, como resolver o problema da importação desses dados.
Zotti
Curtidas 0
Respostas
Edilcimar
02/11/2004
mostre o fonte para que alguém tente achar o erro
GOSTEI 0
Zotti
02/11/2004
o codigo fonte,
aqui ele exporta dados que foram entroduzidos em um db pelo componente DBMemo
Aqui ele importa
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.
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.
GOSTEI 0
Aroldo Zanela
02/11/2004
Colega,
Tente o seguinte:
Da forma acima, você pode armazenar qualquer ´coisa´ no banco, como: executáveis, PDFs, Docs, Zips, ou seja, até texto simples.
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.
GOSTEI 0
Zotti
02/11/2004
Como declarar a origem neste caso, não entendi...
GOSTEI 0