[firebase-br] Erro estranho

BandaLemuel bandalemuel em yahoo.com.br
Qua Ago 2 11:48:20 -03 2006



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





Mais detalhes sobre a lista de discussão lista