Erro Cannot perform this operation on a closed dataset
Bom dia
Estou fazendo uma form de cadastro de profissionais com uma tabela do firebird utilizando Client data set porem me da o seguinte 'Cannot perform this operation on a closed dataset' segue parte do código
Estou fazendo uma form de cadastro de profissionais com uma tabela do firebird utilizando Client data set porem me da o seguinte 'Cannot perform this operation on a closed dataset' segue parte do código
procedure TFormCadProfissionais.FormCreate(Sender: TObject);
begin
DM.SqlProfissionais.Active := True;
DM.CdsProfissionais.Active := True; // ERRO
end;
procedure TFormCadProfissionais.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.SqlProfissionais.Active := False;
DM.CdsProfissionais.Active := False;
action := caFree;
end;
begin
DM.SqlProfissionais.Active := True;
DM.CdsProfissionais.Active := True; // ERRO
end;
procedure TFormCadProfissionais.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.SqlProfissionais.Active := False;
DM.CdsProfissionais.Active := False;
action := caFree;
end;
Silvia Pereira
Curtidas 0
Melhor post
Marcos Gandin
26/06/2014
Bom dia Silvia...
Que bom que você encontrou o erro.
Mas só lembrando que o uso do "Select * From..." não é recomendado e nem performático.
O ideal é você listar somente os campos em que irá precisar.
Flw... ;)
Que bom que você encontrou o erro.
Mas só lembrando que o uso do "Select * From..." não é recomendado e nem performático.
O ideal é você listar somente os campos em que irá precisar.
Flw... ;)
GOSTEI 2
Mais Respostas
Jefferson Rudolf
02/06/2014
Citação:
procedure TFormCadProfissionais.FormCreate(Sender: TObject);
begin
DM.SqlProfissionais.Active := True;
DM.CdsProfissionais.CreateDataSet
end;
procedure TFormCadProfissionais.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.SqlProfissionais.Active := False;
DM.CdsProfissionais.Close
action := caFree;
end;
procedure TFormCadProfissionais.FormCreate(Sender: TObject);
begin
DM.SqlProfissionais.Active := True;
DM.CdsProfissionais.CreateDataSet
end;
procedure TFormCadProfissionais.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.SqlProfissionais.Active := False;
DM.CdsProfissionais.Close
action := caFree;
end;
Tenta assim, Silvia
T+
GOSTEI 0
Silvia Pereira
02/06/2014
Oi Jefferson, tentei como você sugeriu mas o erro continua e aparece esta mensagem tb:
'Project ProjectPadis.exe raised exception class EDatabaseError with message 'Token unknown -
line 1, column 9 from' Process Stopped. Use Step or Run to continue'
e dando sequencia vem essa: 'Token unknown - line 1, column 9' e por ultimo essa:
Project ProjectPadis.exe raised exception class EDatabaseError with message
'CdsProfissionais: Cannot perform this operation on a closed dataset'.
Tenho mais duas tabelas de cadastro que funcionam perfeitamente não entendo o por que desse erro.
Tenta assim, Silvia
T+
'Project ProjectPadis.exe raised exception class EDatabaseError with message 'Token unknown -
line 1, column 9 from' Process Stopped. Use Step or Run to continue'
e dando sequencia vem essa: 'Token unknown - line 1, column 9' e por ultimo essa:
Project ProjectPadis.exe raised exception class EDatabaseError with message
'CdsProfissionais: Cannot perform this operation on a closed dataset'.
Tenho mais duas tabelas de cadastro que funcionam perfeitamente não entendo o por que desse erro.
Citação:
procedure TFormCadProfissionais.FormCreate(Sender: TObject);
begin
DM.SqlProfissionais.Active := True;
DM.CdsProfissionais.CreateDataSet // erro
end;
procedure TFormCadProfissionais.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.SqlProfissionais.Active := False;
DM.CdsProfissionais.Close
action := caFree;
end;
procedure TFormCadProfissionais.FormCreate(Sender: TObject);
begin
DM.SqlProfissionais.Active := True;
DM.CdsProfissionais.CreateDataSet // erro
end;
procedure TFormCadProfissionais.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.SqlProfissionais.Active := False;
DM.CdsProfissionais.Close
action := caFree;
end;
Tenta assim, Silvia
T+
GOSTEI 0
Cauê Nishijima
02/06/2014
Já tentou da seguinte forma?
procedure TFormCadProfissionais.FormCreate(Sender: TObject); begin DM.CdsProfissionais.Open; end; procedure TFormCadProfissionais.FormClose(Sender: TObject; var Action: TCloseAction); begin DM.CdsProfissionais.Close; action := caFree; end;
GOSTEI 0
Silvia Pereira
02/06/2014
Já tentou da seguinte forma?
procedure TFormCadProfissionais.FormCreate(Sender: TObject); begin DM.CdsProfissionais.Open; end; procedure TFormCadProfissionais.FormClose(Sender: TObject; var Action: TCloseAction); begin DM.CdsProfissionais.Close; action := caFree; end;
Acabei de tentar, continua com o mesmo erro.
GOSTEI 0
Silvia Pereira
02/06/2014
Agradeço a ajuda, que tive, descobri o erro é um erro ridículo mas vou postar, pois alguém pode precisar na propriedade do sqlDataSet "command text digitei : select from NOME DA TABELA order by CAMPO.CAMPO" faltou apenas * sim isso mesmo o ASTERISCOS, "select * from NOME DA TABELA order by CAMPO.CAMPO""
"
"
GOSTEI 0
Silvia Pereira
02/06/2014
Bom dia Silvia...
Que bom que você encontrou o erro.
Mas só lembrando que o uso do "Select * From..." não é recomendado e nem performático.
O ideal é você listar somente os campos em que irá precisar.
Flw... ;)
Oi Marcos é que estou fazendo o TCC ai tem que ser como o professor orientou, Que bom que você encontrou o erro.
Mas só lembrando que o uso do "Select * From..." não é recomendado e nem performático.
O ideal é você listar somente os campos em que irá precisar.
Flw... ;)
mas vc poderia me passar algum exemplo?
Obrigada.
GOSTEI 0