Fórum ajuda com inset dados no banco via Zquery com e parametros #478427

08/05/2014

0

boa noite galera, sou novo no mundo delphi,rsrs

ai queria pedir a ajuda de vcs, tenho um formulario de cadastro. coloquei uma zquery para fazer o inset:

INSERT INTO cliente (nomecli,telcli,endcli,obscli,idadecli,dtnasccli)
VALUES (:nomecli,:telcli,:endcli,:obscli,:idadecli,:dtnasccli)

fiz o add dos parametros no Zquery, mudei os Daratype e os ParamType como manad o figurino

mas qunado eu ativo o Zquery da erro:[img]http://arquivo.devmedia.com.br/forum/imagem/359568-20140508-210737.png[/img]


seque o cod na procedure:


with DM.DataM.ZQueryCadCli do
begin
close;
SQL.Clear;
SQL.Add('INSERT INTO cliente (nomecli,telcli,endcli,obscli,idadecli,dtnasccli');
SQL.Add('VALUES(:nomecli,:telcli,:endcli,:obscli,:idadecli,:dtnasccli)');
ParamByName('nomecli').Value := EditNome.Text;
ParamByName('telcli').Value := EditTel.Text;
ParamByName('endcli').Value := EditEnd.Text;
ParamByName('obscli').Value := MemoCadCli.Text;
ParamByName('idadecli').Value := EditIdade.Text;
ParamByName('dtnasccli').Value := DateTimeCadCli.Date;
open;
end;


agradeco desde ja
Pedro Henrique

Pedro Henrique

Responder

Posts

09/05/2014

Wilton Júnior

with DM.DataM.ZQueryCadCli do
begin
SQL.Clear;
SQL.Add('INSERT INTO cliente (nomecli,telcli,endcli,obscli,idadecli,dtnasccli');
SQL.Add('VALUES(:nomecli,:telcli,:endcli,:obscli,:idadecli,:dtnasccli)');
ParamByName('nomecli').Value := EditNome.Text;
ParamByName('telcli').Value := EditTel.Text;
ParamByName('endcli').Value := EditEnd.Text;
ParamByName('obscli').Value := MemoCadCli.Text;
ParamByName('idadecli').Value := EditIdade.Text;
ParamByName('dtnasccli').Value := DateTimeCadCli.Date;
Execsql;
end;
Responder

Gostei + 0

09/05/2014

Pedro Henrique

deu certo nao cara.

para dazer o insert eu tenho q usar o ZupdadeQSL junto com Zquery ou so o Zqyery resolve?
Responder

Gostei + 0

10/05/2014

Felippe Tadeu

Boa tarde.

Você pode sim apenas usar a Zquery.

O erro está em que vc está usando TZQuery.Open onde deveria usar TZQuery.ExecSQL.

Quando se usa uma query para se fazer uma alteração no banco de dados, entende-se por alteração: update, delete e insert. , dessa maneira como vc usa, vc precisa colocar ExecSQL ao invés de Open.

Mas um dos erros fez parecer que não existe a tabela cliente.

Outra coisa, quando vc for fazer o insert experimente passar os valores dos parâmetros com seus devidos tipos.

Abraço, estou esperando retorno, caso ainda tenha o erro, poste o erro.
Responder

Gostei + 0

12/05/2014

Pedro Henrique

alaplaia, deu certo. vlw pela dica.

se vc puder me tirar uma duvida. o componente "ZupdateSQL" ele faz a mesma coisa q o Zquery ?
e para o usar o "ZupdateSQL" tenho q relacionar ele na propriedade UpdateObject do Zquery?

grato desde ja.
Responder

Gostei + 0

12/05/2014

Felippe Tadeu

Vish, essa vou ficar te devendo, essa não sei responder, foi mal.
Responder

Gostei + 0

13/05/2014

Pedro Henrique

sem problemas velho. agradeco mesmo assim. obrigado pela a ajuda com o erro.
Responder

Gostei + 0

13/05/2014

Felippe Tadeu

Por nada
Responder

Gostei + 0

17/05/2018

Isabela Pereria

Pessoal eu estou com o mesmo problema segue o trecho do código<br /><br />
zquery.SQL.Clear;<br /><br />
zquery.SQL.Add(''''INSERT INTO GLO_EMPRESA '''');<br /><br />
zquery.SQL.Add(''''(CODIGO_EMPRESA, FANTASIA, RAZAO_SOCIAL, TIPO_DOCTO, CCC) '''');<br /><br />
zquery.SQL.Add(''''VALUES '''');<br /><br />
zquery.SQL.Add(''''(:PCODIGO_EMPRESA, :PFANTASIA, :PRAZAO_SOCIAL, :PTIPO_DOCTO, :PCCC)'''' );<br /><br />
zquery.Params.ParamByName(''''PCODIGO_EMPRESA'''').AsInteger := 1;<br /><br />
zquery.Params.ParamByName(''''PFANTASIA'''').AsString := ''''Teste Nome Fantasia'''';<br /><br />
zquery.Params.ParamByName(''''PRAZAO_SOCIAL'''').AsString := ''''Teste Razao Socials'''';<br /><br />
zquery.Params.ParamByName(''''PTIPO_DOCTO'''').AsString := ''''1'''';<br /><br />
zquery.Params.ParamByName(''''PCCC'''').AsString := ''''1985236512'''';<br /><br />
zQuery.ExecSQL;<br /><br />
<br /><br />
Esse ocorre o erro de numero de parametros invalido.<br /><br />
Estou usando Delphi 5 com Firebird
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar