Fórum Ligar tabela temporária ao DataSource e liga-lo ao DBGrid #339459
28/03/2007
0
Estou criando uma tabela temporária até ai tudo bem.
Preciso é ligar um DataSource a Tabela e Ligar o DBGrid ao DataSource.
Quando executo me retorna o ERRO: Access Violation at.......
Abaixo mostro o código que estou usando.
procedure CriaTabela;
Var
Tabela : TTable;
Origem : TDataSource;
begin
Tabela := TTable.Create(Self);
Origem := TDataSource(Self);
try
Tabela.DatabaseName := ´C:\´; { um alias BDE ou diretório}
Tabela.TableName := ´SGETEMP´; { extensão é opcional - será gerada automaticamente }
Tabela.Name := ´SGETEMP´;
Tabela.TableType := ttParadox;
with Tabela.FieldDefs do
begin
Add(´Codigo´, ftString, 5, true);
Add(´Favorecido´, ftString, 50, true);
Add(´Conta´, ftString, 6, true);
Add(´Vencimento´, ftDate, 0, false);
Add(´Valor´, ftFloat, 0, true);
end; { ´with Table2.FieldDefs´ }
Tabela.CreateTable;
// Agora o DataSource...
Origem.Name := ´STEMP´;
Origem.DataSet := Tabela; ///// aqui da o erro
// Agora o DBGrid
DbGridParcelas.DataSource := Origem;
Tabela.Open;
Tabela.Insert;
try
Tabela.FieldByName(´Codigo´).Value := ´00002´;
Tabela.FieldByName(´Favorecido´).Value := ´Micheus´;
Tabela.FieldByName(´Conta´).Value := ´010102´;
Tabela.FieldByName(´Vencimento´).Value := ´01/03/2007´;
Tabela.FieldByName(´Valor´).Value := ´134,56´;
Tabela.Post;
except
Tabela.Cancel;
end;
Tabela.Free;
Except
MessageDlg(´Error na Criação da Tabela´, mtError, [mbOK],0);
end; { try...except }
end;
Alguém poderia me dar uma dica.
Abraços a todos
Neto
Neto
Curtir tópico
+ 0Posts
28/03/2007
Neto
Nada pessoal????
Aguardo porque confio.
T+
Gostei + 0
30/04/2007
Carlos Bernardo
Se quiser eu posso colocar um exemplo de como eu faço....
Gostei + 0
01/05/2007
Marco Salles
De fato pela sua instrução
isto não instancia o Origem... Troque por isso
O erro de acesso violado não deve mais existir.. Agora , olhando rápido o seu código , acho que voce não vai conseguir ver o resultado no seu dbdrid , porque voce destroe a instancia no final e portanto corta a alimentação do dbGrid......
Para que isso funcione entre outras sugestões como o uso de um TstringGrid é declarar Tabela e Origem fora do escopo desta Procedure
CriaTabela
Gostei + 0
01/05/2007
Marco Salles
isto não instancia o Origem... Troque por isso
Citação:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)