Escrever/Insert no arquivo DBF
Galera estou precisar criar e a exportar dados para um arquivo .DBF, uso o DelphiXe +DBExpress+Firebird2.5;
O arquivo está sendo criado, mas não consigo escrever nele, ou seja, inserir dados.
O arquivo está sendo criado, mas não consigo escrever nele, ou seja, inserir dados.
var
Table1 : TTable;
begin
{ Criar arquivos }
Table1 := TTable.create(Application);
{ Cria arquivo }
with Table1 do
begin
Active := False;
DatabaseName := 'C:\';
TableName := 'ppndbf.dbf';
TableType := ttdBASE;
with FieldDefs do
begin
Clear;
with AddFieldDef do
begin
Name := 'dataven';
DataType := ftdate;
Required := True;
end;
with AddFieldDef do
begin
Name := 'documento';
DataType := ftString;
Required := false;
Size := 12;
end;
with AddFieldDef do
begin
Name := 'cfop';
DataType := ftString;
Required := false;
size := 4;
end;
with AddFieldDef do
begin
Name := 'valor';
DataType := ftCurrency;
Required := false;
end;
with AddFieldDef do
begin
Name := 'nomecli';
DataType := ftString;
Required := false;
size := 50;
end;
with AddFieldDef do
begin
Name := 'cro';
DataType := ftString;
Required := false;
size := 5;
end;
with AddFieldDef do
begin
Name := 'cpf';
DataType := ftString;
Required := false;
size := 14;
end;
with AddFieldDef do
begin
Name := 'parcela';
DataType := ftString;
Required := false;
size := 5;
end;
end;
IndexDefs.Clear ;
IndexDefs.Add ( 'TESTE_01', 'documento', [] );
IndexDefs.Add ( 'TESTE_02', 'cpf' , [] );
CreateTable;
AddIndex('Indice1', 'dataven', [ixExpression]);
end;
Sidney Abreu
Curtidas 0
Respostas
Marco Antônio
13/03/2016
Sidney, bom dia.
Como esta sendo a inserção. coloca ae pra q possamos dar uma olhada. O padrão é somente dar 'insert' no 'DBF' e depois 'post'.
Particularmente depois que passei utilizar 'ClientDataSet' virtual, nunca mais utilizei o 'DBF", vale a dica. Se possível dê uma olhada.
No canal da DevMedia tem uma video aula do Guinther que foi a base para tudo que uso hoje para esta ferramenta.
https://www.devmedia.com.br/createdataset-curso-trabalhando-com-clientdataset-parte-5/5595
Nessa video foi utilizada o assistente do clientDataSet, mas é possível criar tudo em tempo de execução.
Com esta ferramenta você utilizada, locate, indexFieldName e por ae vae.
E o que é melhor não é preciso criar o arquivo fisicamente. Evitando os famosos erros de acessos que enfrentamentos
no cotidiano em um ambiente de rede.
Abc.
Como esta sendo a inserção. coloca ae pra q possamos dar uma olhada. O padrão é somente dar 'insert' no 'DBF' e depois 'post'.
Particularmente depois que passei utilizar 'ClientDataSet' virtual, nunca mais utilizei o 'DBF", vale a dica. Se possível dê uma olhada.
No canal da DevMedia tem uma video aula do Guinther que foi a base para tudo que uso hoje para esta ferramenta.
https://www.devmedia.com.br/createdataset-curso-trabalhando-com-clientdataset-parte-5/5595
Nessa video foi utilizada o assistente do clientDataSet, mas é possível criar tudo em tempo de execução.
Com esta ferramenta você utilizada, locate, indexFieldName e por ae vae.
E o que é melhor não é preciso criar o arquivo fisicamente. Evitando os famosos erros de acessos que enfrentamentos
no cotidiano em um ambiente de rede.
Abc.
GOSTEI 0
Sidney Abreu
13/03/2016
Obrigado, vlw pela dica
GOSTEI 0