[firebase-br] Erro estranho
André Kucaniz
kucaniz em hotmail.com
Qua Ago 2 11:54:32 -03 2006
Opa! Cara.. Num sei muito bem não... mas eu acho que tá faltando as
"aspinhas" na hora de executar a Procedure... no Delphi... Tenta alguma
coisa desse tipo assim... Acho que é só colocar as "aspinhas" no campos que
são CHAR e DATE também..
>procedure TFrmCadClientes.Acoes ;
>begin
> with dm.IBQueryClientes do
> begin
> Close;
> Sql.Clear;
> Sql.Text := 'EXECUTE PROCEDURE SP_CLIENTES ( ' +
> Inttostr(Acao) + ',' +
> edtCod.Text + ',' +
''''+EdtNome.Text + ''',' + // <-- Desse tipo
assim ó!!
e continua...
Espero ter sido útil..
André Kucaniz
>From: "BandaLemuel" <bandalemuel em yahoo.com.br>
>Reply-To: FireBase <lista em firebase.com.br>
>To: "FireBase" <lista em firebase.com.br>
>Subject: Re: [firebase-br] Erro estranho
>Date: Wed, 2 Aug 2006 11:48:20 -0300
>
>
>
>Consegui , agorta tem outro problema......
>
>
>tenho a procedure no banco....
>
>CREATE PROCEDURE "SP_CLIENTES"
>(
> "ACAO" INTEGER,
> "CDCLI" INTEGER,
> "NMCLI" CHAR(60),
> "EDCLI" CHAR(60),
> "NRCLI" INTEGER,
> "CIDCLI" CHAR(30),
> "UFCLI" CHAR(2),
> "BRCLI" CHAR(30),
> "DDDCLI" INTEGER,
> "TELCLI" CHAR(10),
> "CELCLI" CHAR(10),
> "TPCLI" CHAR(1),
> "OBSCLI" CHAR(255),
> "RGCLI" CHAR(20),
> "CPFCLI" CHAR(25),
> "DTCAD" DATE,
> "EMCLI" CHAR(50)
>)
>AS
>BEGIN
> IF ( ACAO = 1 ) THEN
> INSERT INTO VAR0200 ( CDCLI , NMCLI , EDCLI , NRCLI , CIDCLI ,
>UFCLI
>, BRCLI , DDDCLI ,
> TELCLI , CELCLI , TPCLI , OBSCLI , RGCLI ,
>CPFCLI , DTCAD , EMCLI )
> VALUES (:CDCLI, :NMCLI , :EDCLI , :NRCLI , :CIDCLI ,
>:UFCLI , :BRCLI , :DDDCLI ,
> :TELCLI , :CELCLI , :TPCLI , :OBSCLI , :RGCLI
>,
>:CPFCLI , :DTCAD , :EMCLI );
> IF ( ACAO = 2 ) THEN
> UPDATE VAR0200 SET NMCLI=:NMCLI , EDCLI=:EDCLI , NRCLI=:NRCLI ,
>CIDCLI=:CIDCLI , UFCLI =:UFCLI ,
> BRCLI=:BRCLI , DDDCLI=:DDDCLI, TELCLI=:TELCLI ,
>CELCLI=:CELCLI , TPCLI=:TPCLI ,
> OBSCLI=:OBSCLI , RGCLI=:RGCLI , CPFCLI=:CPFCLI
>,
>DTCAD=:DTCAD , EMCLI=:EMCLI
> WHERE CDCLI=:CDCLI;
> IF ( ACAO = 3 ) THEN
> DELETE FROM VAR0200 WHERE CDCLI=:CDCLI;
>END
>
>
>mas qnd executo no Delphi...
>
>
>
>procedure TFrmCadClientes.Acoes ;
>begin
> with dm.IBQueryClientes do
> begin
> Close;
> Sql.Clear;
> Sql.Text := 'EXECUTE PROCEDURE SP_CLIENTES ( ' +
> Inttostr(Acao) + ',' +
> edtCod.Text + ',' +
> EdtNome.Text + ',' +
> EdtRua.Text + ',' +
> EdtNumero.Text + ',' +
> EdtCidade.Text + ',' +
> EdtUf.Text + ',' +
> EdtBairro.Text + ',' +
> EdtDDD.Text + ',' +
> EdtTelefone.Text+ ',' +
> EdtCelular.Text + ',' +
> Inttostr(EdtTpCli.ItemIndex) + ',' +
> MMObs.Text + ',' +
> EdtRg.Text + ',' +
> EdtCpf.Text + ',' +
> EdtData.Text + ',' +
> EdtEmail.Text + ')';
> ExecSQL;
> Close;
>
> Dm.IBTransactionClientes.Commit;
> end;
>
> case Acao of
>
> 1 : MessageDlg ( 'Cliente cadastrado com Sucesso!' ,
>MtInformation
>, [mbok] , 0 ) ;
> 2 : MessageDlg ( 'Cliente alterado com Sucesso!' ,
>MtInformation
>, [mbok] , 0 ) ;
> 3 : MessageDlg ( 'Cliente excluido com Sucesso!' ,
>MtInformation
>, [mbok] , 0 ) ;
>
> end;
>end;
>//------------------------------------------------------------------------------
>
>
>Ele dá erro ( Dynamixc Sql Error / Sql Code Error= -104 / Token unknown -
>line 1 , char 36 , WESLEY )...
>
> WESLEY é o nome do cliente q estou incluido.....
>
>Alguem pode me ajudar....
>
> Wesley
>
>
>
>--------------------------------------
>----- Original Message -----
>From: "Arthur Zanona" <arthurzanona em gmail.com>
>To: "FireBase" <lista em firebase.com.br>
>Sent: Wednesday, August 02, 2006 11:19 AM
>Subject: Re: [firebase-br] Erro estranho
>
>
>wesley,
> testei aqui e esta funcionando.
>
>- MAX(CDCLI) n eh um metodo mto legal para se gerar ids, seria mais
>interessante vc usar um generator
>
>/ * gerador de ids */
>CREATE GENERATOR GEN_VAR0200_CDCLI;
>SET GENERATOR GEN_VAR0200_CDCLI TO 0;
>/ * fim gerador de ids */
>
>e fzer algo do tipo
>
>// getCodigo
>//------------------------------------------------------------------------------
>function TFrmCadClientes.getCodigo() : integer;
>begin
> with dm.IBQueryClientes do begin
> if (active) then Close;
> Sql.Clear;
> Sql.Text := 'SELECT (GEN_ID(GEN_VAR0200_CDCLI,1)) AS cdcli
>FROM
>RDB$DATABASE';
> try
> open;
> result:=fieldbyname('cdcli').asInteger;
> except
> result:= -1;
> end;
> close;
> end;
>end;
>//------------------------------------------------------------------------------
>
>abrcs
>
>----- Original Message -----
>From: "BandaLemuel" <bandalemuel em yahoo.com.br>
>To: "FireBase" <lista em firebase.com.br>
>Sent: Wednesday, August 02, 2006 10:57 AM
>Subject: [firebase-br] Erro estranho
>
>
> Não sei se o assunto é OFF
>
> Mas se for me desculpem.... tenho um banco que foi criado assim...
>
>/* Table: VAR0200, Owner: SYSDBA */
>
>CREATE TABLE "VAR0200"
>(
> "CDCLI" INTEGER NOT NULL,
> "NMCLI" CHAR(60) NOT NULL,
> "EDCLI" CHAR(60),
> "NRCLI" INTEGER,
> "CIDCLI" CHAR(30),
> "UFCLI" CHAR(2),
> "BRCLI" CHAR(30),
> "DDDCLI" INTEGER,
> "TELCLI" CHAR(10),
> "CELCLI" CHAR(10),
> "TPCLI" CHAR(1),
> "OBSCLI" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
> "RGCLI" CHAR(20),
> "CPFCLI" CHAR(25),
> "DTCAD" DATE,
> "EMCLI" CHAR(50),
>CONSTRAINT "PK_VAR0200" PRIMARY KEY ("CDCLI")
>);
>
>
>Estou fazendo um programa o delphi que gera cod...
>
>a procedure esta assim
>//Gera Senha
>//------------------------------------------------------------------------------
>function TFrmCadClientes.GeraCodigo : String ;
>begin
> with dm.IBQueryClientes do
> begin
> Close;
> Sql.Clear;
> Sql.Text := 'select MAX(CDCLI) from VAR0200';
> open;
> Result := '';
> Result := Inttostr ( Fields[0].AsInteger + 1 );
> Close;
> end;
>
> GeraCodigo := result ;
>end;
>//------------------------------------------------------------------------------
>
>
>Ele esta dizendo q não existe o campo CDCLI.... o que pode ser.... ?/
>
>Agredço qualquer ajuda.. Obrigado...
>
> WEsley
>
>
>
>
>
>
>_______________________________________________________
>Você quer respostas para suas perguntas? Ou você sabe muito e quer
>compartilhar seu conhecimento? Experimente o Yahoo! Respostas !
>http://br.answers.yahoo.com/
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>--
>No virus found in this incoming message.
>Checked by AVG Free Edition.
>Version: 7.1.394 / Virus Database: 268.10.5/405 - Release Date: 01/08/2006
>
>
>
>_______________________________________________________
>Yahoo! Acesso Grátis - Internet rápida e grátis. Instale
>o discador agora!
>http://br.acesso.yahoo.com
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
_________________________________________________________________
Descubra como mandar Torpedos Messenger do computador para o celular
http://www.msn.com.br/artigos/maguire/default.asp
Mais detalhes sobre a lista de discussão lista