Delphi 2007 + MYSQL não funciona herança
Boa noite pessoal
Não sei se estou colocando o post no local correto, caso esteje errado peço desculpas.
Estou passando por um problema, que não consegui resolver, gostaria de algumas opniões, bem é o seguinte.
Tenho alguns projetos em Delphi 6, onde criei dois formulários chamados
Cadastro - Com um componente DataSource( dsCadastro) e DBGrid
Digitacao - Com um componente DataSource( dsDigitacao)
Quando vou criar um cadastro de clientes CadCliente por exemplo, herdado do formulario cadastro, trocando os respectivos nomes e ligando a um DataModule com a query cliente.
Clicando no botão Incluir, Alterar, chamo a tela DigCliente herdada da tela Digitacao, ligando o datasource a query cliente no datamodule, isso funciona perfeitamente no Delphi 6.
Estou mudando as aplicações para o Delphi 2007 e ao aplicar a mesma lógica ele não traz a herança dos dados, sendo necessário colocar em cada form criado o componente de query, datasource, conexão, update. Tá dando um trabalho danado. Já refiz os forms, ligando da forma mencionada e não funciona.
Também quando tento refazer a query do DataModule para aplicar um filtro de seleção no grid, não rola também.
Tenho no D2007 o componente Zeos 7.0.0 e o MYSQL 5.1.36, o que esta acontecendo é o seguinte:
Coloquei um grid, lendo de uma tabela cliente, e acima do grid coloquei um combo, onde apresenta alguns dados a serem filtrados nesta tabela cliente, e um botão para ativar o filtro escolhido pelo usuario, e coloquei o seguinte código neste botão:
procedure TfrmCadProtestos.Button1Click(Sender: TObject);
begin
MainDM.qryProtestoNotificacao.Close;
MainDM.qryProtestoNotificacao.SQL.Text := cQueryProtesto;
if dbCliente.Values[dbCliente.ItemIndex] <> '0' then
begin
MainDM.qryProtestoNotificacao.SQL.Add('where id_cliente = :cliente' );
MainDM.qryProtestoNotificacao.ParamByName('cliente').AsInteger:= StrtoInt(
dbCliente.Values[dbCliente.ItemIndex] );
end;
MainDM.qryProtestoNotificacao.Open;
end;
Acontece que o grid não é atualizado, permanecendo com os mesmos dados, nada funcionou, andei fazendo umas pesquisas e seguindo algumas orientações dos colegas, como as seguinte:
No Componente ZConnection:
ReadOnly = false
TransactIsolationLeval = tiReadCommitted
No Compoente TZQuery:
UpDateMode = umUpdateAll
E infelizmente não resolveu.
O que posso estar fazendo de errado?
Como corrigir este procedimento ?
Muito Obrigado pela ajuda.
Moisés Rotiman
Não sei se estou colocando o post no local correto, caso esteje errado peço desculpas.
Estou passando por um problema, que não consegui resolver, gostaria de algumas opniões, bem é o seguinte.
Tenho alguns projetos em Delphi 6, onde criei dois formulários chamados
Cadastro - Com um componente DataSource( dsCadastro) e DBGrid
Digitacao - Com um componente DataSource( dsDigitacao)
Quando vou criar um cadastro de clientes CadCliente por exemplo, herdado do formulario cadastro, trocando os respectivos nomes e ligando a um DataModule com a query cliente.
Clicando no botão Incluir, Alterar, chamo a tela DigCliente herdada da tela Digitacao, ligando o datasource a query cliente no datamodule, isso funciona perfeitamente no Delphi 6.
Estou mudando as aplicações para o Delphi 2007 e ao aplicar a mesma lógica ele não traz a herança dos dados, sendo necessário colocar em cada form criado o componente de query, datasource, conexão, update. Tá dando um trabalho danado. Já refiz os forms, ligando da forma mencionada e não funciona.
Também quando tento refazer a query do DataModule para aplicar um filtro de seleção no grid, não rola também.
Tenho no D2007 o componente Zeos 7.0.0 e o MYSQL 5.1.36, o que esta acontecendo é o seguinte:
Coloquei um grid, lendo de uma tabela cliente, e acima do grid coloquei um combo, onde apresenta alguns dados a serem filtrados nesta tabela cliente, e um botão para ativar o filtro escolhido pelo usuario, e coloquei o seguinte código neste botão:
procedure TfrmCadProtestos.Button1Click(Sender: TObject);
begin
MainDM.qryProtestoNotificacao.Close;
MainDM.qryProtestoNotificacao.SQL.Text := cQueryProtesto;
if dbCliente.Values[dbCliente.ItemIndex] <> '0' then
begin
MainDM.qryProtestoNotificacao.SQL.Add('where id_cliente = :cliente' );
MainDM.qryProtestoNotificacao.ParamByName('cliente').AsInteger:= StrtoInt(
dbCliente.Values[dbCliente.ItemIndex] );
end;
MainDM.qryProtestoNotificacao.Open;
end;
Acontece que o grid não é atualizado, permanecendo com os mesmos dados, nada funcionou, andei fazendo umas pesquisas e seguindo algumas orientações dos colegas, como as seguinte:
No Componente ZConnection:
ReadOnly = false
TransactIsolationLeval = tiReadCommitted
No Compoente TZQuery:
UpDateMode = umUpdateAll
E infelizmente não resolveu.
O que posso estar fazendo de errado?
Como corrigir este procedimento ?
Muito Obrigado pela ajuda.
Moisés Rotiman
Moises Rotiman
Curtidas 0