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!
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
Curtir tópico
+ 0
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!
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!
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
Clique aqui para fazer login e interagir na Comunidade :)