Ir para conteúdo
Fórum Script Brasil
  • 0

( Resolvido ) Inserir dados no RxMemoryData, pegando os dados


robinhocne

Pergunta

Estou fazendo uma instrução sql e coloquei dentro do while

um insert na TblCarCheques(RxMemoryData) mas dá esse erro:

pois eu quero que percorre por todos registros que está,

vindo da consulta e ai insere na TblCarCheques, para jogar para o DbGrid!

pois isso eu quero em tabelas temporarias!

TblCarCheques: Cannot perform this operation on a closed dataset.

Esse é mu codigo fonte:

if RdbRep.Checked then
    begin
      with QryCarChe do
        begin
          close;
          sql.Clear;
          sql.Add('Select L.Codigo, L.Aluno, L.Valor, L.Cheque, L.Agencia, L.Conta, L.Vencimento, A.Codigo, A.Nome from lancamento L, Alunos A'
                  +' where L.Aluno = A.Codigo and L.pagamento is null and L.cheque is not null');
          open;
        end;

        while ( not QryCarChe.Eof ) do
         begin
          if ( not TblCarCheques.Active ) then TblCheques.Open;
            with TblCarCheques do
              begin
                Insert;
                Fields[00].AsInteger  := QryCarChe.FieldByName('Aluno').AsInteger;
                Fields[01].AsString   := QryCarChe.FieldByName('Nome').AsString;
                Fields[02].AsString   := QryCarChe.FieldByName('Cheque').AsString;
                Fields[03].AsCurrency := QryCarChe.FieldByName('Valor').AsCurrency;
                Fields[04].AsDateTime := QryCarChe.FieldByName('Vencimento').AsDateTime;
                Fields[05].AsInteger  := QryCarChe.FieldByName('Codigo').AsInteger;
                Post;
              end;
            QryCarChe.Next;
         end;

    end;

Editado por robinhocne
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
TblCarCheques: Cannot perform this operation on a closed dataset.

TblCarCheques: Não pode executar esta operação em um dataset fechado.

significa que este comando não está funcionando

if ( not TblCarCheques.Active ) then TblCheques.Open;

Porque voce já não deixa ele aberto logo no inicio ?

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
TblCarCheques: Cannot perform this operation on a closed dataset.

TblCarCheques: Não pode executar esta operação em um dataset fechado.

significa que este comando não está funcionando

if ( not TblCarCheques.Active ) then TblCheques.Open;

Porque voce já não deixa ele aberto logo no inicio ?

abraço

mas eu deixei agora assim:

TblCheques.Open;

mas continua dando a mesma mensagem...

Link para o comentário
Compartilhar em outros sites

  • 0
TblCarCheques: Cannot perform this operation on a closed dataset.

TblCarCheques: Não pode executar esta operação em um dataset fechado.

voce reparou como esta este comando ?

if ( not TblCarCheques.Active ) then TblCheques.Open;

TblCarCheques

TblCheques ????

não seria dessa maneira ?

if ( not TblCarCheques.Active ) then TblCarCheques.Open;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
TblCarCheques: Cannot perform this operation on a closed dataset.

TblCarCheques: Não pode executar esta operação em um dataset fechado.

voce reparou como esta este comando ?

if ( not TblCarCheques.Active ) then TblCheques.Open;

TblCarCheques

TblCheques ????

não seria dessa maneira ?

if ( not TblCarCheques.Active ) then TblCarCheques.Open;

abraço

hum era isso mesmo, mas tinha outras coisa, valeu...

ficou assim:

if RdbRep.Checked then
    begin
      with QryCarChe do
        begin
          close;
          sql.Clear;
          sql.Add('Select L.Codigo, L.Aluno, L.Valor, L.Cheque, L.Agencia, L.Conta, L.Vencimento, A.Codigo, A.Nome from lancamento L, Alunos A'
                  +' where L.Aluno = A.Codigo and L.pagamento is null and L.cheque is not null');
          open;
        end;

     QryCarChe.First;
        TblCarCheques.Open;
        while ( not QryCarChe.Eof ) do
         begin
          with TblCarCheques do
              begin
                 Insert;
                 TblCarChequesCodAluno.AsInteger := QryCarChe.FieldByName('Aluno').AsInteger;
                 TblCarChequesNomAluno.AsString   := QryCarChe.FieldByName('Nome').AsString;
                 TblCarChequesCheque.AsString   := QryCarChe.FieldByName('Cheque').AsString;
                 TblCarChequesValor.AsCurrency := QryCarChe.FieldByName('Valor').AsCurrency;
                 TblCarChequesVencimento.AsDateTime := QryCarChe.FieldByName('Vencimento').AsDateTime;
                 TblCarChequesCodigo.AsInteger  := QryCarChe.FieldByName('Codigo').AsInteger;
                 Post;
              end;
            QryCarChe.Next;
        end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...