Quero criar um arquivo temporário, qual o melhor?
Criei 1º um arquivo paradox temporario, mas qdo ia salvar o registro retornava erro na chave primaria, depois tentei um arquivo texto, usando um grid, mas ele só salva o ultimo registro encluido, ja ultilizai append, mas ele não grava registro a registro, fico apenas com 1 registro no arquivo texto, não funciona como no pascal!!
Host
Curtidas 0
Respostas
Cdaraujo
23/06/2003
Caro amigo,
Estamos aqui para lhe ajudar na uitlização da ferramenta Delphi em seu ambiente de desenvolvimento.
Essa técnica de usar tabelas paradox como registro temporário, já é antigo. Seria legal vc estudar um pouco o componente TClientDataSet, onde este, está disponível desde da versão 5. É um recurso muito bom para que vc possa trabalhar com dados temporários.
Atenciosamente,
Daniel Araújo
Estamos aqui para lhe ajudar na uitlização da ferramenta Delphi em seu ambiente de desenvolvimento.
Essa técnica de usar tabelas paradox como registro temporário, já é antigo. Seria legal vc estudar um pouco o componente TClientDataSet, onde este, está disponível desde da versão 5. É um recurso muito bom para que vc possa trabalhar com dados temporários.
Atenciosamente,
Daniel Araújo
Criei 1º um arquivo paradox temporario, mas qdo ia salvar o registro retornava erro na chave primaria, depois tentei um arquivo texto, usando um grid, mas ele só salva o ultimo registro encluido, ja ultilizai append, mas ele não grava registro a registro, fico apenas com 1 registro no arquivo texto, não funciona como no pascal!!
GOSTEI 0
Roberto_conetsys
23/06/2003
Voce poderia detalhar mais sua necessidade, pois criar tabela temporarias com Paradox, pode ser ultrapassado, mas é bem simples.
Voce cria uma tabela com o database desktop e depois faz as copias normalmente no C:\Temp e apaga no termino vide codigo abaixo.
No evento oncreate do form:
Tbl_CriaMov.Open;
// Cria a tabela TMP.DB no Disco
TB_TMP := TTable.Create(Self);
WITH TB_TMP DO
BEGIN
DatabaseName := ´C:\Temp´;
TableName := ´MOV_TMP.DB´;
FieldDefs.Assign(Tbl_CriaMov.FieldDefs);
IndexDefs.Assign(Tbl_CriaMov.IndexDefs);
CreateTable;
END;
Tbl_Mov_Tmp.TableName := ´MOV_TMP.DB´;
Tbl_Mov_Tmp.Open;
No evento onclose do form
Tbl_Mov_Tmp.DeleteTable;
A chave primaria pode ser auto-incremental ou voce faz tratamento para incrementar.
Voce cria uma tabela com o database desktop e depois faz as copias normalmente no C:\Temp e apaga no termino vide codigo abaixo.
No evento oncreate do form:
Tbl_CriaMov.Open;
// Cria a tabela TMP.DB no Disco
TB_TMP := TTable.Create(Self);
WITH TB_TMP DO
BEGIN
DatabaseName := ´C:\Temp´;
TableName := ´MOV_TMP.DB´;
FieldDefs.Assign(Tbl_CriaMov.FieldDefs);
IndexDefs.Assign(Tbl_CriaMov.IndexDefs);
CreateTable;
END;
Tbl_Mov_Tmp.TableName := ´MOV_TMP.DB´;
Tbl_Mov_Tmp.Open;
No evento onclose do form
Tbl_Mov_Tmp.DeleteTable;
A chave primaria pode ser auto-incremental ou voce faz tratamento para incrementar.
GOSTEI 0
Roberto_conetsys
23/06/2003
Voce poderia detalhar mais sua necessidade, pois criar tabela temporarias com Paradox, pode ser ultrapassado, mas é bem simples.
Voce cria uma tabela com o database desktop e depois faz as copias normalmente no C:\Temp e apaga no termino vide codigo abaixo.
No evento oncreate do form:
Tbl_CriaMov.Open;
// Cria a tabela TMP.DB no Disco
TB_TMP := TTable.Create(Self);
WITH TB_TMP DO
BEGIN
DatabaseName := ´C:\Temp´;
TableName := ´MOV_TMP.DB´;
FieldDefs.Assign(Tbl_CriaMov.FieldDefs);
IndexDefs.Assign(Tbl_CriaMov.IndexDefs);
CreateTable;
END;
Tbl_Mov_Tmp.TableName := ´MOV_TMP.DB´;
Tbl_Mov_Tmp.Open;
No evento onclose do form
Tbl_Mov_Tmp.DeleteTable;
A chave primaria pode ser auto-incremental ou voce faz tratamento para incrementar.
Voce cria uma tabela com o database desktop e depois faz as copias normalmente no C:\Temp e apaga no termino vide codigo abaixo.
No evento oncreate do form:
Tbl_CriaMov.Open;
// Cria a tabela TMP.DB no Disco
TB_TMP := TTable.Create(Self);
WITH TB_TMP DO
BEGIN
DatabaseName := ´C:\Temp´;
TableName := ´MOV_TMP.DB´;
FieldDefs.Assign(Tbl_CriaMov.FieldDefs);
IndexDefs.Assign(Tbl_CriaMov.IndexDefs);
CreateTable;
END;
Tbl_Mov_Tmp.TableName := ´MOV_TMP.DB´;
Tbl_Mov_Tmp.Open;
No evento onclose do form
Tbl_Mov_Tmp.DeleteTable;
A chave primaria pode ser auto-incremental ou voce faz tratamento para incrementar.
GOSTEI 0
Roberto_conetsys
23/06/2003
Voce poderia detalhar mais sua necessidade, pois criar tabela temporarias com Paradox, pode ser ultrapassado, mas é bem simples.
Voce cria uma tabela com o database desktop e depois faz as copias normalmente no C:\Temp e apaga no termino vide codigo abaixo.
No evento oncreate do form:
Tbl_CriaMov.Open;
// Cria a tabela TMP.DB no Disco
TB_TMP := TTable.Create(Self);
WITH TB_TMP DO
BEGIN
DatabaseName := ´C:\Temp´;
TableName := ´MOV_TMP.DB´;
FieldDefs.Assign(Tbl_CriaMov.FieldDefs);
IndexDefs.Assign(Tbl_CriaMov.IndexDefs);
CreateTable;
END;
Tbl_Mov_Tmp.TableName := ´MOV_TMP.DB´;
Tbl_Mov_Tmp.Open;
No evento onclose do form
Tbl_Mov_Tmp.DeleteTable;
A chave primaria pode ser auto-incremental ou voce faz tratamento para incrementar.
Voce cria uma tabela com o database desktop e depois faz as copias normalmente no C:\Temp e apaga no termino vide codigo abaixo.
No evento oncreate do form:
Tbl_CriaMov.Open;
// Cria a tabela TMP.DB no Disco
TB_TMP := TTable.Create(Self);
WITH TB_TMP DO
BEGIN
DatabaseName := ´C:\Temp´;
TableName := ´MOV_TMP.DB´;
FieldDefs.Assign(Tbl_CriaMov.FieldDefs);
IndexDefs.Assign(Tbl_CriaMov.IndexDefs);
CreateTable;
END;
Tbl_Mov_Tmp.TableName := ´MOV_TMP.DB´;
Tbl_Mov_Tmp.Open;
No evento onclose do form
Tbl_Mov_Tmp.DeleteTable;
A chave primaria pode ser auto-incremental ou voce faz tratamento para incrementar.
GOSTEI 0
Roberto_conetsys
23/06/2003
Voce poderia detalhar mais sua necessidade, pois criar tabela temporarias com Paradox, pode ser ultrapassado, mas é bem simples.
Voce cria uma tabela com o database desktop e depois faz as copias normalmente no C:\Temp e apaga no termino vide codigo abaixo.
No evento oncreate do form:
Tbl_CriaMov.Open;
// Cria a tabela TMP.DB no Disco
TB_TMP := TTable.Create(Self);
WITH TB_TMP DO
BEGIN
DatabaseName := ´C:\Temp´;
TableName := ´MOV_TMP.DB´;
FieldDefs.Assign(Tbl_CriaMov.FieldDefs);
IndexDefs.Assign(Tbl_CriaMov.IndexDefs);
CreateTable;
END;
Tbl_Mov_Tmp.TableName := ´MOV_TMP.DB´;
Tbl_Mov_Tmp.Open;
No evento onclose do form
Tbl_Mov_Tmp.DeleteTable;
A chave primaria pode ser auto-incremental ou voce faz tratamento para incrementar.
Voce cria uma tabela com o database desktop e depois faz as copias normalmente no C:\Temp e apaga no termino vide codigo abaixo.
No evento oncreate do form:
Tbl_CriaMov.Open;
// Cria a tabela TMP.DB no Disco
TB_TMP := TTable.Create(Self);
WITH TB_TMP DO
BEGIN
DatabaseName := ´C:\Temp´;
TableName := ´MOV_TMP.DB´;
FieldDefs.Assign(Tbl_CriaMov.FieldDefs);
IndexDefs.Assign(Tbl_CriaMov.IndexDefs);
CreateTable;
END;
Tbl_Mov_Tmp.TableName := ´MOV_TMP.DB´;
Tbl_Mov_Tmp.Open;
No evento onclose do form
Tbl_Mov_Tmp.DeleteTable;
A chave primaria pode ser auto-incremental ou voce faz tratamento para incrementar.
GOSTEI 0