Ir para conteúdo
Fórum Script Brasil
  • 0

error creating cursor handle


anabon

Pergunta

olá amigos bom dia.... gostaria muito da ajuda de vocês estousando sql server 2005 e delphi 2006

esse código abaixo ta dentro de uma query e ta dando o erro :

error creating cursor handle

geralmente quando da esse erro não prejudica o código, mas agora preciso carregar a query com os campos da tabelas e não consigo.... e também não enchergo o erro... desde já agradeço qm puder me ajudar

-- Seleciona com saldo_total = nulo

DECLARE @DAT_VIGENCIA DATETIME,

@COD_ITEM INTEGER,

@COD_GRUPO_ITEM INTEGER,

@COD_GENERO INTEGER,

@COD_TIPO INTEGER,

@COD_EDITORA INTEGER,

@COD_EMPRESA INTEGER,

@COD_FILIAL INTEGER,

@COD_LOCAL INTEGER,

@COD_AUTOR INTEGER,

@COD_TIPOA INTEGER,

@COD_BARRA INTEGER,

@LANCAMENTO INTEGER,

@EXCLUSIVO INTEGER,

@REEDITAR INTEGER,

@STATUS VARCHAR(2),

@SALDO INTEGER,

@COD_SELO INTEGER,

@DAT_EXP_LANCTO DATETIME

SELECT

@DAT_VIGENCIA = :DAT_VIGENCIA,

@COD_ITEM = :COD_ITEM,

@COD_GRUPO_ITEM = :COD_GRUPO_ITEM,

@COD_GENERO = :COD_GENERO,

@COD_TIPO = :COD_TIPO,

@COD_EDITORA = :COD_EDITORA,

@COD_EMPRESA = :COD_EMPRESA,

@COD_FILIAL = :COD_FILIAL,

@COD_LOCAL = :COD_LOCAL,

@COD_AUTOR = :COD_AUTOR,

@COD_TIPOA = :COD_TIPOA,

@COD_BARRA = :COD_BARRA,

@LANCAMENTO = :LANCAMENTO,

@EXCLUSIVO = :EXCLUSIVO,

@REEDITAR = :REEDITAR,

@STATUS = :STATUS,

@SALDO = :SALDO,

@COD_SELO = :COD_SELO,

@DAT_EXP_LANCTO = :DAT_EXP_LANCTO

if @saldo = 0

begin

select i.nom_item,

i.cod_item,

l.nom_gaveta,

l.cod_gaveta,

p.nom_empresa,

u.nom_grupo_item,

f.nom_filial,

i.caracteristica,

t.nom_tipo,

i.peso_item,

dimensoes = convert(varchar(30),i.largura_item) + ' X ' + convert(varchar(30),i.comprimento_item) ,

i.cod_barra_item,

g.nom_genero,

nom_editora = e.nom_fantasia,

s.saldo_total,

i.qtd_paginas,

i.DAT_EXP_LANCTO,

vlr_capa = (select o.vlr_capa

from itens_estpreco o (nolock)

where o.cod_item = i.cod_item

and o.dat_vigencia = (select max(e.dat_vigencia)

from itens_estpreco e (nolock)

where e.cod_item = o.cod_item

and e.dat_vigencia <= @dat_vigencia)),

status = case when i.status_item = 'D' then 'Itens em Distribuição'

else 'Itens em Pendência'

end,

cod_isbn_item,

GRUPO = (SELECT TOP 1 E.NOM_ITEM

FROM ITEM_ESTGRUPO G (NOLOCK),

ITENS_ESTOQUE E (NOLOCK)

WHERE G.COD_ITEMGRUPO = I.COD_ITEM

AND G.COD_ITEM = E.COD_ITEM),

INDICE_GRUPO = (SELECT TOP 1 G.INDICE

FROM ITEM_ESTGRUPO G (NOLOCK)

WHERE G.COD_ITEMGRUPO = I.COD_ITEM),

AUTOR = (SELECT TOP 1 NOM_AUTOR

FROM AUTORES AA (NOLOCK),

AUTORES_ITEM AI (NOLOCK)

WHERE AA.COD_AUTOR = AI.COD_AUTOR

AND AI.COD_ITEM = I.COD_ITEM),

NOM_SELO = (SELECT ES.NOM_SELO

FROM EDITORA_SELO ES (NOLOCK)

WHERE ES.COD_SELO = I.COD_SELO)

from itens_estoque i (nolock),

tabela_genero g (nolock),

editora e (nolock),

tabela_saldo_itens s (nolock),

itens_local l (nolock),

empresa p (nolock),

filial f (nolock),

tpo_item t (nolock),

grupo_item u (nolock)

where (i.cod_item = @cod_item or @cod_item = 0)

and (i.cod_grupo_item = @cod_grupo_item or @cod_grupo_item = 0)

and (i.cod_genero = @cod_genero or @cod_genero = 0)

and (i.cod_tipo = @cod_tipo or @cod_tipo = 0)

and (i.cod_editora = @cod_editora or @cod_editora = 0)

and (i.cod_selo = @cod_selo or @cod_selo = 0)

and l.cod_empresa = @cod_empresa

and (l.cod_filial = @cod_filial or @cod_filial = 0)

and i.cod_genero = g.cod_genero

and i.cod_editora = e.cod_editora

and i.cod_item = l.cod_item

and (l.cod_local = @cod_local or @cod_local = 0)

and (i.DAT_EXP_LANCTO = @DAT_EXP_LANCTO or @DAT_EXP_LANCTO = null)

and i.cod_item in (select a.cod_item

from autores_item a (nolock)

where (a.cod_autor = @cod_autor or @cod_autor = 0)

and a.cod_autor in (select cod_autor

from autores (nolock)

where cod_tipo = @cod_tipoa or @cod_tipoa = 0))

and l.cod_empresa *= s.cod_empresa

and l.cod_filial *= s.cod_filial

and l.cod_local *= s.cod_local

and l.cod_item *= s.cod_item

and l.cod_empresa = p.cod_empresa

and l.cod_empresa = f.cod_empresa

and l.cod_filial = f.cod_filial

and i.cod_tipo = t.cod_tipo

and i.cod_grupo_item = u.cod_grupo_item

and (((@cod_barra = 0) and ((convert(float, replace(substring(i.cod_barra_item,1,12),'X','')) <> i.cod_item) and (i.cod_barra_item <> '')))

or (@cod_barra = 1))

and (((@lancamento = 0) and (i.dat_exp_lancto = 0 or 0 = 0))

or ((@lancamento = 1) and (i.dat_exp_lancto >= getdate())))

and (((@exclusivo = 0) and (e.representante = 'S'))

or ((@exclusivo = 1) and ((e.representante = 'X' or 'X' = 'X'))))

and (i.status_item = :status or :status = 'X')

and (((@reeditar = 0) and i.cod_item in (select o.cod_item

from itens_edicao o (nolock)

where o.cod_item = i.cod_item

and o.reeditar = 'S'))

or (@reeditar = 1))

AND I.SITUACAO_ITEM IN (:FD,:FE,:FC,:IP,:IN)

order by i.nom_item

end

-- Seleciona com saldo_total <> nulo

if @saldo = 1

begin

select i.nom_item,

i.cod_item,

l.nom_gaveta,

l.cod_gaveta,

p.nom_empresa,

u.nom_grupo_item,

f.nom_filial,

i.caracteristica,

t.nom_tipo,

i.peso_item,

dimensoes = convert(varchar(30),i.largura_item) + ' X ' + convert(varchar(30),i.comprimento_item) ,

i.cod_barra_item,

g.nom_genero,

nom_editora = e.nom_fantasia,

s.saldo_total,

i.qtd_paginas,

i.DAT_EXP_LANCTO,

vlr_capa = (select o.vlr_capa

from itens_estpreco o (nolock)

where o.cod_item = i.cod_item

and o.dat_vigencia = (select max(e.dat_vigencia)

from itens_estpreco e (nolock)

where e.cod_item = o.cod_item

and e.dat_vigencia <= @dat_vigencia)),

status = case when i.status_item = 'D' then 'Itens em Distribuição'

else 'Itens em Pendência'

end,

cod_isbn_item,

GRUPO = (SELECT TOP 1 E.NOM_ITEM

FROM ITEM_ESTGRUPO G (NOLOCK),

ITENS_ESTOQUE E (NOLOCK)

WHERE G.COD_ITEMGRUPO = I.COD_ITEM

AND G.COD_ITEM = E.COD_ITEM),

INDICE_GRUPO = (SELECT TOP 1 G.INDICE

FROM ITEM_ESTGRUPO G (NOLOCK)

WHERE G.COD_ITEMGRUPO = I.COD_ITEM),

AUTOR = (SELECT TOP 1 NOM_AUTOR

FROM AUTORES AA (NOLOCK),

AUTORES_ITEM AI (NOLOCK)

WHERE AA.COD_AUTOR = AI.COD_AUTOR

AND AI.COD_ITEM = I.COD_ITEM),

NOM_SELO = (SELECT ES.NOM_SELO

FROM EDITORA_SELO ES (NOLOCK)

WHERE ES.COD_SELO = I.COD_SELO)

from itens_estoque i (nolock),

tabela_genero g (nolock),

editora e (nolock),

tabela_saldo_itens s (nolock),

itens_local l (nolock),

empresa p (nolock),

filial f (nolock),

tpo_item t (nolock),

grupo_item u (nolock)

where (i.cod_item = @cod_item or @cod_item = 0)

and (i.cod_grupo_item = @cod_grupo_item or @cod_grupo_item = 0)

and (i.cod_genero = @cod_genero or @cod_genero = 0)

and (i.cod_tipo = @cod_tipo or @cod_tipo = 0)

and (i.cod_editora = @cod_editora or @cod_editora = 0)

and (i.cod_selo = @cod_selo or @cod_selo = 0)

and l.cod_empresa = @cod_empresa

and (l.cod_filial = @cod_filial or @cod_filial = 0)

and i.cod_genero = g.cod_genero

and i.cod_editora = e.cod_editora

and i.cod_item = l.cod_item

and (i.DAT_EXP_LANCTO = @DAT_EXP_LANCTO or @DAT_EXP_LANCTO = null)

and (s.saldo_total > 0)

and (l.cod_local = @cod_local or @cod_local = 0)

and i.cod_item in (select a.cod_item

from autores_item a (nolock)

where (a.cod_autor = @cod_autor or @cod_autor = 0)

and a.cod_autor in (select cod_autor

from autores (nolock)

where cod_tipo = @cod_tipoa or @cod_tipoa = 0))

and l.cod_empresa = s.cod_empresa

and l.cod_filial = s.cod_filial

and l.cod_local = s.cod_local

and l.cod_item = s.cod_item

and l.cod_empresa = p.cod_empresa

and l.cod_empresa = f.cod_empresa

and l.cod_filial = f.cod_filial

and i.cod_tipo = t.cod_tipo

and i.DAT_EXP_LANCTO = @DAT_EXP_LANCTO

and i.cod_grupo_item = u.cod_grupo_item

and (((@cod_barra = 0) and ((convert(float, replace(substring(i.cod_barra_item,1,12),'X','')) <> i.cod_item) and (i.cod_barra_item <> '')))

or (@cod_barra = 1))

and (((@lancamento = 0) and (i.dat_exp_lancto = 0 or 0 = 0))

or ((@lancamento = 1) and (i.dat_exp_lancto >= getdate())))

and (((@exclusivo = 0) and (e.representante = 'S'))

or ((@exclusivo = 1) and ((e.representante = 'X' or 'X' = 'X'))))

and (i.status_item = @status or @status = 'X')

and (((@reeditar = 0) and i.cod_item in (select o.cod_item

from itens_edicao o (nolock)

where o.cod_item = i.cod_item

and o.reeditar = 'S'))

or (@reeditar = 1))

AND I.SITUACAO_ITEM IN (:FD,:FE,:FC,:IP,:IN)

order by i.nom_item

end

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...