Operation Not Allowed On A Unidirectional Dataset.

15/05/2008

2

[color=red:9f1d44a4c1]Título editado por Massuda Por favor, não use apenas letras maiúsculas no título/texto e procure usar um título descritivo. No caso de reincidência, seus tópicos poderão vir a ser bloqueados. Leia as :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.[/color:9f1d44a4c1]
Bom Dia !!

Estou montando uma tela simples de pesquisa por CPF, mas esta toda hora aparecendo um erro e por mais que eu aponte para o DS para o DBGRID não mostra o resultado. Tem uma condição que se não encontrar ele chama a tela de clientes e inicia o cadastro. Nesta parte esta OK, agora eu queria saber o porque ele não mostra o resultado no GRID, se eu usar um SHOWMESSAGE por exemplo ele apresenta, mas no DBGRID.

Segue o código abaixo:

with DMConsulta.sqlqryClientes do
begin
Close;
ParamByName(´PCPF´).AsString := edtCPF.Text;
Open;
if IsEmpty then
if MessageDlg(´O CPF informado não possui cadastro, Deseja cadastra-lo agora ?´, mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Begin
frmClientes.Show;
frmClientePesquisa.Close;
frmClientes.btnCadastrar.Click;
end
end;
end;

Ao apontar o DS para o DBGRID da a seguinte mensagem de erro:

OPERATION NOT ALLOWED ON A UNIDIRECTIONAL DATASET.

Estou usando Delphi 7.0 + DBExpress + Interbase


Se alguem puder ajudar, ficaria muito grato.

Osvaldo Domênico.


Responder

Posts

15/05/2008

Joaoshi

Colega, vc precisa utilizar o [b:659cbb3f41]ClientDataSet[/b:659cbb3f41] para ligar ao DataSource e ao DbGrid.

Seria interessante dar uma estudada nas formas de acesso do DbExpress.

Espero ter ajudado.


Responder