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
Pergunta
anabon
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 :
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.