Desculpe, no tsqlquery vc seta a propriedade paramcheck para false.
[]´s
--- Em delphi-br@yahoogrupos.com.br, Berdam <[EMAIL PROTECTED]> escreveu
>
> Respondendo aos dois emails que vieram, onde fica esse literals???
> 
> Estou usando os componentes Dbexpress, sqlconection para conectar 
no banco e sqlquery que recebe o sql e executa.
> 
> Procurei outros exmplos na internet e parece que o dbxpress não 
funciona a respeito da criação e alteração de stored procedures no 
banco de dados. 
> Vejam os links abaixo
> 
> http://www.activedelphi.com.br/forum/viewtopic.php?
t=40534&sid=ad23cf4a4fdf0fe6e1066a848eb40ffa
> 
> http://www.forumweb.com.br/foruns/index.php?showtopic=20712
> 
> 
> 
> --------------------------------------------------------------------
--------------------
> Uberdam Cavaletti
> Formado em Tecnologia da Informação - Unoesc - Xxe
> Pós-graduado em desenvolvimento Java - Unoesc - Xxe
> 
>  http://www.curricular.com.br/berdam
> 
> Visite
> http://passandoveneno.blogspot.com
> --------------------------------------------------------------------
--------------------
> 
> 
> --- Em ter, 22/7/08, lucsis2010 <[EMAIL PROTECTED]> escreveu:
> De: lucsis2010 <[EMAIL PROTECTED]>
> Assunto: [delphi-br] Cross-post Re: Atualização dde Stored Procedure
> Para: delphi-br@yahoogrupos.com.br
> Data: Terça-feira, 22 de Julho de 2008, 14:09
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>     
>             Veja se literals está true, mude para false;
> 
> Pode ser a quebra de linhas.
> 
> []´s
> 
> 
> 
> --- Em [EMAIL PROTECTED] os.com.br, Berdam <berdamzinho@ ...> 
escreveu
> 
> >
> 
> > 
> 
> > Galera, estou com um erro muito estranho, tenho uma atualizador, 
> 
> que possui a base de dados contendo as atualizações, nele tenho 
> 
> algumas alterações de procedures, campos,tabelas do banco de dados 
do 
> 
> cliente. 
> 
> > Quando executo o atualizador ele percorre a base de atualizações, 
e 
> 
> executa os scripts na base de dados da empresa, este problema só 
está 
> 
> ocorrendo quando crio ou atualizo uma procedure.
> 
> > Quando executo a alteração de procedure uma exceção é lançada, na
> 
> > exceção eu pego o comando SQL e insiro no ibexpert e ele passa sem
> 
> > problemas. 
> 
> > 
> 
> > Abaixo em negrito segue a exceção, claro que eu
> 
> > retiro os caracteres que fazem parte da exceção e executo apenas 
o 
> 
> SQL,
> 
> > fazendo isso no ibexpert funciona, já no atualizador não. 
Repetindo 
> 
> que somente ocorre isso na atualização das stored procedures, as 
> 
> outras atualizações correm normalmente.
> 
> > 
> 
> > A exceção ocorre no primeiro select, "CAUSA : Token unknown - 
line 
> 
> 40, column 8
> 
> > 
> 
> > 
> 
> > ?", mas colocando no ibexpert, nenhum erro aparece.
> 
> > 
> 
> > 
> 
> > 
> 
> > Alguém possui alguma explicação plausível para isso????
> 
> > 
> 
> > 
> 
> > ------------ --------- ------
> 
> > Warning
> 
> > ------------ --------- ------
> 
> > Não foi possível a inclusão/alteraçã o do comando:
> 
> > 1019:ALTER PROCEDURE COTFICHA_FORNECEDOR (
> 
> >     IN_COTACAO CHAR(10),
> 
> >     IN_COD_EMPRESA CHAR(6))
> 
> > AS
> 
> > declare variable var_contafichaserv smallint;
> 
> > declare variable var_codfornecedor char(5);
> 
> > declare variable var_contafichaprod smallint;
> 
> > declare variable var_coditem varchar(20);
> 
> > declare variable var_sequencia smallint;
> 
> > declare variable var_quantidade double precision;
> 
> > declare variable var_servico varchar(40);
> 
> > declare variable var_total smallint;
> 
> > declare variable var_contap smallint;
> 
> > declare variable var_contas smallint;
> 
> > declare variable var_seqfornecedor smallint;
> 
> > declare variable var_contador integer;
> 
> > declare variable var_numfornecedor smallint;
> 
> > declare variable var_nfichaspreenchi das smallint;
> 
> > declare variable var_achoufichaforn smallint;
> 
> > begin
> 
> >   /*---------- --------- --------- --------- --------- --------- -
--
> 
> ------------
> 
> >   - Essa SP verifica se o fornecedor já tem a respectiva ficha de 
> 
> Cotação      -
> 
> >   - gerada. Se ainda não existir, o sistema preenche 
> 
> automaticamente           -
> 
> > 
> 
> >     Versão: 1.0.3
> 
> > 
> 
> >   ------------ --------- --------- --------- --------- --------- -
> 
> ----------*/
> 
> > 
> 
> >   var_contafichaprod = 0;
> 
> >   var_contafichaserv = 0;
> 
> >   var_contap = 0;
> 
> >   var_contas = 0;
> 
> >   var_contador = 0;
> 
> >   var_numfornecedor = 0;
> 
> > 
> 
> >   /* Verifica o número de fornecedores e registra as fichas de
> 
> >  cabeçalho */
> 
> > 
> 
> >   select count(z.cd_empresa)
> 
> >   from cotacao_fornece z
> 
> >   where (z.codigo = :in_cotacao) and (z.cd_empresa 
> 
> = :in_cod_empresa)
> 
> >   into :var_numfornecedor;
> 
> > 
> 
> >   select count(x.cd_empresa)
> 
> >   from
> 
> >  cotacao_fornecedor_ header x
> 
> >   where (x.codigo = :in_cotacao) and (x.cd_empresa 
> 
> = :in_cod_empresa)
> 
> >   into :var_nfichaspreench idas;
> 
> > 
> 
> > 
> 
> >   if (var_numfornecedor > var_nfichaspreenchi das) then
> 
> >   begin
> 
> >     for select m.cd_fornece, m.seq_fornece
> 
> >     from cotacao_fornece m
> 
> >     where (m.codigo = :in_cotacao) and (m.cd_empresa 
> 
> = :in_cod_empresa)
> 
> >     into :var_codfornecedor, :var_seqfornecedor
> 
> >     do begin
> 
> >        select count(n.codigo)
> 
> >        from
> 
> >  cotacao_fornecedor_ header n
> 
> >        where (n.cd_fornece = :var_codfornecedor) and
> 
> >              (n.seq_fornece = :var_seqfornecedor) and
> 
> >              (n.cd_empresa = :in_cod_empresa) and (n.codigo 
> 
> = :in_cotacao)
> 
> >        into :var_achoufichaforn ;
> 
> > 
> 
> >        if (var_achoufichaforn = 0) then
> 
> >        begin
> 
> >          insert into cotacao_fornecedor_ header  (codigo, 
> 
> cd_empresa, cd_fornece,
> 
> >              seq_fornece, valortotal, vlrredespacho, 
valoreajuste, 
> 
> valordesconto)
> 
> >             
> 
> >  values
> 
> >              (:in_cotacao, :in_cod_empresa, :var_codfornecedor,
> 
> >               :var_seqfornecedor, 0, 0, 0, 0);
> 
> >        end
> 
> > 
> 
> >     end
> 
> >   end
> 
> > 
> 
> >   -- Conta o número de produtos
> 
> >   select count(a.codigo)
> 
> >   from cotacao_itens a
> 
> >   where (a.codigo = :in_cotacao) and (a.cd_empresa 
> 
> = :in_cod_empresa)
> 
> >   into :var_contap;
> 
> > 
> 
> >   -- Conta o número de Serviços
> 
> >   select count(b.codigo)
> 
> >   from cotacao_servicos b
> 
> >   where (b.codigo = :in_cotacao) and (b.cd_empresa 
> 
> = :in_cod_empresa)
> 
> >   into :var_contas;
> 
> > 
> 
> >   -- Corrigido em 14-12-07 - Deixa-se de contar os itens dos 
> 
> fornecedores
> 
> >   -- e passa a contar
> 
> >  os itens gerais em servicos e produtos
> 
> >   --var_total = var_contafichaprod + var_contafichaserv;
> 
> > 
> 
> >   var_total = var_contap + var_contas;
> 
> > 
> 
> >   --Verifica se foram inseridos itens na cotação
> 
> > 
> 
> >   if (var_total > 0) then
> 
> >   begin
> 
> >     -- Procura todos os fornecedores listados na cotação
> 
> >     for select cf.cd_fornece, cf.seq_fornece
> 
> >     from cotacao_fornece cf
> 
> >     where (cf.codigo = :in_cotacao) and (cf.cd_empresa 
> 
> = :in_cod_empresa)
> 
> >     into :var_codfornecedor, :var_seqfornecedor
> 
> >     do
> 
> >     begin
> 
> > 
> 
> >       --Conta o número de itens registrados para o forncedor
> 
> >       select count(cfi.codigo)
> 
> >       from cotacao_fornece_ itens cfi
> 
> >       where (cfi.codigo = :in_cotacao) and
> 
> >             (cfi.cd_empresa = :in_cod_empresa) and
> 
> >             (cfi.cd_fornece = :var_codfornecedor) and
> 
> >             (cfi.seq_fornece = :var_seqfornecedor)
> 
> >       into :var_contafichaprod ;
> 
> > 
> 
> >       -- se a quantidade de itens for menor, ele irá inserir os 
> 
> itens faltantes
> 
> >       -- para aquele fornecedore
> 
> >       if (var_contafichaprod < var_contap) then
> 
> >       begin
> 
> >         -- localiza todos os itens da cotação e insere todos os 
> 
> faltantes
> 
> >         for select a.cd_item, a.seq_item, a.quantidade
> 
> >           from cotacao_itens a
> 
> >           where (a.codigo = :in_cotacao) and (a.cd_empresa 
> 
> = :in_cod_empresa)
> 
> >           into :var_coditem, :var_sequencia, :var_quantidade
> 
> >         do
> 
> >         begin
> 
> >            select count(b.cd_item)
> 
> >            from cotacao_fornece_ itens b
> 
> >            where (b.codigo = :in_cotacao) and
> 
> >                  (b.cd_empresa = :in_cod_empresa) and
> 
> >                  (b.cd_fornece = :var_codfornecedor) and
> 
> >                  (b.seq_fornece = :var_seqfornecedor) and
> 
> >                  (b.cd_item = :var_coditem) and
> 
> >                  (b.seq_item =
> 
> >  :var_sequencia)
> 
> >            into :var_contador;
> 
> > 
> 
> >            if (var_contador = 0) then
> 
> >            begin
> 
> >              insert into cotacao_fornece_ itens (cd_empresa, 
codigo, 
> 
> cd_fornece,
> 
> >                  seq_fornece, cd_item, valor_unit, ipi, 
valor_ipi, 
> 
> valor_total,
> 
> >                  seq_item, quantidade, valorfinal, valor_kgm)
> 
> >              Values
> 
> >                  
(:in_cod_empresa, :in_cotacao, :var_codfornecedor,
> 
> >                   :var_seqfornecedor, :var_coditem, 0, 0, 0, 0,
> 
> >                   :var_sequencia, :var_quantidade, 0, 0);
> 
> >            end
> 
> >         end
> 
> >       end
> 
> >       -- Fim do processo de inserção de itens/materiais- ---------
 ---
> 
> ------------
> 
> >       -- Verifica o número de servicos na cotação------- ---------
 ---
> 
> ------------
> 
> >       select count(cfs.codigo)
> 
> >       from cotacao_fornece_ serv cfs
> 
> >       where (cfs.codigo = :in_cotacao) and
> 
> >             (cfs.cd_empresa = :in_cod_empresa) and
> 
> >             (cfs.cd_fornece = :var_codfornecedor) and
> 
> >             (cfs.seq_fornece = :var_seqfornecedor)
> 
> >       into :var_contafichaserv ;
> 
> > 
> 
> >       if
> 
> >  (var_contafichaserv < var_contas) then
> 
> >       begin
> 
> >         for select cs.seq_item, cs.servico, cs.quantidade
> 
> >         from cotacao_servicos cs
> 
> >         where (cs.codigo = :in_cotacao) and (cs.cd_empresa 
> 
> = :in_cod_empresa)
> 
> >         into :var_sequencia,
> 
> >  :var_servico, :var_quantidade
> 
> >         do
> 
> >         begin
> 
> >           select count(k.codigo)
> 
> >           from cotacao_fornece_ serv k
> 
> >           where (k.codigo = :in_cotacao) and
> 
> >                 (k.cd_empresa = :in_cod_empresa) and
> 
> >                 (k.cd_fornece = :var_codfornecedor) and
> 
> >                 (k.seq_fornece = :var_seqfornecedor) and
> 
> >                 (k.descricao = :var_servico) and
> 
> >                 (k.seq_item = :var_sequencia)
> 
> >           into :var_contador;
> 
> > 
> 
> >           if (var_contador = 0) then
> 
> >           begin
> 
> >             insert
> 
> >  into cotacao_fornece_ serv (cd_empresa, codigo, cd_fornece,
> 
> >                 seq_fornece, valor, seq_item, descricao, 
quantidade)
> 
> >             Values
> 
> >                 (:in_cod_empresa, :in_cotacao, :var_codfornecedor,
> 
> >                 
> 
> >  :var_seqfornecedor, 0, :var_sequencia, :var_servico,
> 
> >                  :var_quantidade) ;
> 
> >           end
> 
> >         end
> 
> >       end
> 
> >       --
> 
> >  ------------ --------- --------- --------- --------- --------- -
> 
> ----
> 
> >     end
> 
> >   end
> 
> > end
> 
> > 
> 
> > 
> 
> > CAUSA : Token unknown - line 40, column 8
> 
> > ?
> 
> > 
> 
> > 
> 
> >  Confirmar a Atualização do Parâmetro?
> 
> > ------------ --------- ------
> 
> > Yes   No   
> 
> > ------------ --------- ------
> 
> > ------------ --------- --------- --------- --------- --------- -
> 
> ------------ --------
> 
> > Uberdam Cavaletti
> 
> > Formado em Tecnologia da Informação - Unoesc - Xxe
> 
> > Pós-graduado em desenvolvimento Java - Unoesc - Xxe
> 
> > 
> 
> >  http://www.curricul ar.com.br/ berdam
> 
> > 
> 
> > Visite
> 
> > http://passandovene no.blogspot. com
> 
> > ------------ --------- --------- --------- --------- --------- -
> 
> ------------ --------
> 
> > 
> 
> > 
> 
> > 
> 
> >       Novos endereços, o Yahoo! que você conhece. Crie um email 
> 
> novo com a sua cara @ymail.com ou @rocketmail. com.
> 
> > http://br.new. mail.yahoo. com/addresses
> 
> > 
> 
> > [As partes desta mensagem que não continham texto foram removidas]
> 
> >
> 
> 
> 
> 
>       
> 
>     
>     
>       
>        
>       
>       
> 
> 
> 
> 
> 
> 
> 
> 
>       
> 
> 
>       
>       
> 
> 
>       Novos endereços, o Yahoo! que você conhece. Crie um email 
novo com a sua cara @ymail.com ou @rocketmail.com.
> http://br.new.mail.yahoo.com/addresses
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a