[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