Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problemas com Parametros em um select


papaicleber

Pergunta

:wacko:

Olá Pessoal,

Sou novato por aqui,

Estou desenvolvendo um sistema de controle de manutenção e estou com um serio problema, é o seguinte:

Tenho um form onde vai ser lançado os pedidos de manutenção, e para isso tem campos como nome da escola, equipamento, onde escola e equipamentos são tabelas diferentes. Até ae tudo bem, pois em um botão, quando acionado chama outro form de consulta para escola, seleciono a mesma no grid clico em ok e esse dado vai para o form de lançamento bonitinho. O Problema depois que clico no botão de consulta do equipamento, pois nessa consulta uso um Qry com o seguinte comando e parametro:

Select * From TBManu where NomeEscola =:PEscola

Até ae tudo bem,

No form digito o nome da escola no Edit e ele seleciona todos os equipamentos que tem nessa escola. Agota eu preciso que quando de um Ok, ele pegue esse dado equipamento selecionado e jogue nos campos DBedits do form Lançamentos de manutenção. Ele da um erro que diz que o "Qry : Cannot Modify a Read-Only DataSet"

alguém por obsequio pode me ajudar a desvendar esse misterio.

É muito importante.

Obrigado.

Cleber

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
"Qry : Cannot Modify a Read-Only DataSet"

Não pode modificar um DataSet somente como leitura

na propriedade ReadOnly da Query deixe como False;

abraço

:blush:

Olá amigo.

Eu bem que tinha tentado essa alternativa, mas é que nas propriedades da Qry não tem essa bendita ReadOnly.

Tem apenas: Param, RequestLive, SessionName, Sql, Tag..

O que eu faço agora?

Por que não aparece a propriedade ReadOnly?

Ai meu Deus, meus amigos me deem uma luz, por favor! :unsure:

Link para o comentário
Compartilhar em outros sites

  • 0
foi mal ... me confundi com outro componente

na propriedade RequestLive = true

abraço

:rolleyes:

Muito Obrigado. Como eu pude não prestar atenção nesse pequeno detalhe.

Isso me ajudou muito.

Só mais uma questão.

como eu posso fazer para quando eu clicar no botao que traz a tabela de equipamento ele já reconhecer

o codigo da escola e trazer os equipamentos filtrados.

Tem como?

Obrigado por tudo.

:rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0
o processo é praticamente o mesmo que voce já usou

Select * From TBManu where NomeEscola = :PEscola

se os dados estiverem em tabelas diferentes , procure no forum referencia entre tabelas

ou veja a clausula select usando UNION ou JOIN

abraço

:rolleyes:

Olá meu amigo Jhonas,

Só você pode me ajudar nesse dificil dilema que estou passando.

Estou com uma consulta (código abaixo), que só da certo para uma pesquisa, uma condição, mas preciso

para todos os filtros, ou apenas o que estiver sido preenchido.

Porfavor me ajude, e me diga o que tem de errado, e como melhorar!!

begin

inherited;

If DS.DataSet.Active = true then

begin

Dados.QryConsLanGas.Close;

Dados.QryConsLanGas.ParamByName('DataIni').AsDate := FrmConsLanGas.DTPIni.Date;

Dados.QryConsLanGas.ParamByName('DataFim').AsDate := FrmConsLanGas.DTPFim.Date;

Dados.QryConsLanGas.ParamByName('Escola').AsString:= FrmConsLanGas.edit1.Text;

Dados.QryConsLanGas.Prepare;

Dados.QryConsLanGas.Open;

end;

end;

procedure TFrmConsLanGas.FormCreate(Sender: TObject);

begin

inherited;

DS.DataSet := Dados.QryConsLanGas;

end;

procedure TFrmConsLanGas.RGSituacaoClick(Sender: TObject);

begin

inherited;

If DS.DataSet.Active = TRue then

begin

if RGSituacao.ItemIndex = 0 then

begin

Dados.QryConsLanGas.ParamByName('Situacao').AsString := 'PEDIDO'

end

else

begin

if RGSituacao.ItemIndex = 1 then

begin

Dados.QryConsLanGas.ParamByName('Situacao').AsString := 'PLANILHA'

end

else

begin

if RGSituacao.ItemIndex = 2 then

Begin

Dados.QryConsLanGas.ParamByName('Situacao').AsString := 'COMANDA';

end;

end;

end;

end;

end;

end.

Um Abraço

Cleber

:o

Link para o comentário
Compartilhar em outros sites

  • 0
If DS.DataSet.Active = true then

begin

Dados.QryConsLanGas.Close;

Dados.QryConsLanGas.ParamByName('DataIni').AsDate := FrmConsLanGas.DTPIni.Date;

Dados.QryConsLanGas.ParamByName('DataFim').AsDate := FrmConsLanGas.DTPFim.Date;

Dados.QryConsLanGas.ParamByName('Escola').AsString:= FrmConsLanGas.edit1.Text;

Dados.QryConsLanGas.Prepare;

Dados.QryConsLanGas.Open;

end;

dentro da query não existe esse parametro

Dados.QryConsLanGas.ParamByName('Situacao').AsString := 'COMANDA';

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
If DS.DataSet.Active = true then

begin

Dados.QryConsLanGas.Close;

Dados.QryConsLanGas.ParamByName('DataIni').AsDate := FrmConsLanGas.DTPIni.Date;

Dados.QryConsLanGas.ParamByName('DataFim').AsDate := FrmConsLanGas.DTPFim.Date;

Dados.QryConsLanGas.ParamByName('Escola').AsString:= FrmConsLanGas.edit1.Text;

Dados.QryConsLanGas.Prepare;

Dados.QryConsLanGas.Open;

end;

dentro da query não existe esse parametro

Dados.QryConsLanGas.ParamByName('Situacao').AsString := 'COMANDA';

abraço

Olá,

Boa Noite Caro Jhonas

Muito Obrigado pelas dicas..

Caso encerrado.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...