Fórum Usar CommandText de um ClientDataset em memória. #528590

13/08/2015

0

Olá pessoal estou com uma duvida!

Não sei se e possível, mais gostaria de saber se tem como usar uma instrução SQL em um ClientDataset em memória.


Exemplo:

Tenho uma tabela com 100 registro em memória, ou seja não tem uma tabela física deste registro em banco de dados.
Com os seguintes campos,

[img]http://arquivo.devmedia.com.br/forum/imagem/327825-20150813-113258.png[/img]


Quero marcar e desmarcar todos os registros.

no CheckBox hoje estou utilizando um loop no ClientDataSet, exemplo.

ClientDataSet.Firts;
While Not ClientDataSet.Eof Do
Begin

ClientDataSet.Edit;
ClientDataSet.FieldByName('matsel').AsBoolean:= cbxSelecionarRegistros.Checked;
ClientDataSet.Post;

ClientDataSet.Next;
End;

Beleza funciona normalmente, mais gostaria de usar uma instrução SQl. Como por exemplo;

ClientDataSet.Close;
ClientDataSet.CommandText:= 'update teste SET matsel=:pmatsel;';
ClientDataSet.Params.ParamByName('pmatsel').AsBoolean:= cbxCheck.Checked;
ClientDataSet.Open;

Tem como fazer isso? Desde já muito obrigado pela atenção pessoal!
Leonardo Rehder

Leonardo Rehder

Responder

Posts

03/09/2015

Mateus Carvalho

Você pode selecionar via dbgrid, exemplo:

procedure TForm1.btselecionartodos(Sender: TObject);
begin
table1.First;
While not table1.Eof do begin
DBGrid.SelectedRows.CurrentRowSelected := True;
table1.Next;
end;
end;


Att!
Responder

Gostei + 0

03/09/2015

Leonardo Rehder

Ola, Mac, boa tarde!

Entendo, mais da mesma forma tenho que fazer um loop no ClientDataSet!
Não era bem isso que eu queria. Eu sei que instrução SQL são executadas pelo servidor de banco de dados e não pela aplicação!
Bom do meu jeito e do seu, funciona corretamente.

Mais do mesmo jeito, muito obrigado pela atenção!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar