Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou apanhando pra usar o Delphi com o MySQL, depois de ser nocauteada pelo dbExpress passei pro Zeos, mas estou diante de um problema: a falta de exemplos na net de como usar..
eu andei fuçando e quis usar o ZUPDATESQL pq vi que pode colocar todos os sqls ( InsertSQL, DeleteSQL e ModifySQL ), daí os problemas :
1 - Como passar os paramentros? (ZUpdateSQL1.Params.ParamValues['campo'] : = valorcampo ) ??
2 - Tenho que associar ele a um ZQuery?
3 - o q exatamente tenho q fazer? como executar o sql de cada um? (ZUpdateSQL1.InsertSQL.BeginUpdate;) ??
me ajudem!! please!!! se puderem me dá um exemplo eu agradeceria muito!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Certo, parte das duvidas respondidas.. mas e depois? como eu faço pra executar o SQL pela Queryassim:1 - Digamos que eu tenha colocado os SQL no componente
ZUpdateSQL1.InsertSQL:= 'insert into madeira (nome, name, scientific) values (:madeira, :name, :scientific )';ZUpdateSQL1.DeleteSQL:= 'delete from madeira where codigo_madeira =:codigo'2- Ligado ele ao ZQueryZQuery1.UpdateObject := ZUpdateSQL1;3- Passado o ParametroZUpdateSQL1.Params.ParamByName('codigo').AsString : = txtcodigo.text;4 - Como eu faço pra executar?? ZQuery1.ExecSQL ?? Como vou dizer qual quero executar? se é o InsertSQL ou o DeleteSQL??
>
boa tarde Alana....muito bem:1 -
{ ModifySQL = Update Usuario Set Usu_Nome = 'Teste' Where Usu_Cod = :P_Usu_Cod}procedure TForm1.ZQuery1BeforePost(DataSet: TDataSet);begin ZUpdateSQL1.Params.ParamByName('P_Usu_Cod').AsString := ZQuery1.FieldByName('Usu_Cod').AsString;end;2- sim... na propriedade UpdateObject deve ser direcionado para o componente ZUpdateSQL.3- não é necessário( pelo menos nunca utilizei dessa forma) inicializá-lo, apenas setando a propriedade UpdateObject do ZQuery, no momento do update ele considera o teu "ModifySQL"/"DeleteSQL" /"InsertSQL".lembrando que se você adicionar o ZUpdateSQL, alterando a forma de delete/insert/update, automaticamente, nao faz, por exemplo o update "comum"( qro dizer q ele nao valida os campos para alterá-los e substitui pelo comando do ZUpdateSQL).não sei se expliquei direito, mas somente utilizei 1 vez :D :P mas é +/- isso... qlqr coisa que precisa posta ai q alguem vai responde :D ^^
para executar o insert do ZUpdateSQL, faça insert no ZQuery... assim:- se tiver em um dbgrid, e clicar em insert, digitar os campos necessários, e ao executar o Post, ele busca o comando insert do ZUpdateSQL. Com isso o ZQuery nao insere, mas sim o ZUpdateSQL.ps.: esse procedimento que tu ta tentando fazer nao pode ser feito somente com o ZQuery??? ou alem de inserir no ZQuery tu tem q inserir em outro local?
hum... Então esse ZUpdateSQL funciona como se fosse um trigger? como eu nao achei nenhum exemplo na net pensei que fosse alguma coisa do tipo :(
passado os paramentros ZUpdateSQL.InsertSQL.open (ou ZUpdateSQL.InsertSQL.ExecSQL ) // e ele insereria logo no banco http://forum.imasters.com.br/public/style_emoticons/default/upset.gif ZUpdateSQL.DeleteSQL.open (ou ZUpdateSQL.DeleteSQL.ExecSQL ) e ele deletaria logo no banco
http://forum.imasters.com.br/public/style_emoticons/default/upset.gif ou aindaZUpdateSQL.ModifySQL.open (ou ZUpdateSQL.ModifySQL.ExecSQL ) http://forum.imasters.com.br/public/style_emoticons/default/cry.gif
para executar o insert do ZUpdateSQL, faça insert no ZQuery... assim:- se tiver em um dbgrid, e clicar em insert, digitar os campos necessários, e ao executar o Post, ele busca o comando insert do ZUpdateSQL. Com isso o ZQuery nao insere, mas sim o ZUpdateSQL.ps.: esse procedimento que tu ta tentando fazer nao pode ser feito somente com o ZQuery??? ou alem de inserir no ZQuery tu tem q inserir em outro local?
hehe.. mas volto a lembrar que utilizei apenas uma vez... e utilizei da forma como postei acima.... mas talvez funcione dessa forma que tu ta tentando fazer, não sei dizer mas vou ver o que acho....
Pessoal estou tentando usar o ZUpdateSql...Mas não está funcionando... pois ele não tem a propriedade .ExecSql nem a Open .. o que fazer nesse caso..?AtenciosamenteElcio
hehe.. mas volto a lembrar que utilizei apenas uma vez... e utilizei da forma como postei acima.... mas talvez funcione dessa forma que tu ta tentando fazer, não sei dizer mas vou ver o que acho....
boa tarde Alana....
muito bem:
1 -
2- sim... na propriedade UpdateObject deve ser direcionado para o componente ZUpdateSQL.
não sei se expliquei direito, mas somente utilizei 1 vez :D :P mas é +/- isso... qlqr coisa que precisa posta ai q alguem vai responde :D ^^