Usar CommandText de um ClientDataset em memória.
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
Curtidas 0
Respostas
Mateus Carvalho
13/08/2015
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!
GOSTEI 0
Leonardo Rehder
13/08/2015
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!
GOSTEI 0