Error procedure con asp.

30/09/2003 - 18:26 por chele | Informe spam
Buenas, tengo un procedure que me funciona bien pero que al quererle meter
una busqueda pues me falla. El procedure es este :

CREATE PROCEDURE dbo.InformeAdhesiones AS SELECT Adhesiones.IdAdhesion,
Adhesiones.Entidad, Adhesiones.Oficina, Adhesiones.Adhesion,
Adhesiones.Tipo, Adhesiones.IdProducto, Adhesiones.FechaSalida,
Adhesiones.FechaRegreso, Adhesiones.Zona, Adhesiones.Rc,
Adhesiones.Capital_RC, Adhesiones.NumPax, Adhesiones.NombreAsegurado,
Adhesiones.ImporteViaje, Adhesiones.ImportePoliza,
Adhesiones.TarifaAplicada, Adhesiones.Expediente, Adhesiones.FacturaEmitida,
Adhesiones.OkAgencia, Adhesiones.FechaAdhesion, Adhesiones.HoraAdhesion,
Oficinas.CodOficina, Oficinas.Fax, Oficinas.Telefono, Oficinas.Cod_Postal,
Oficinas.Direccion, Entidades.Denominacion, DEF_PRODUCTOS.Denominacion AS
NProducto, Zonas.Zona AS NZona, Adhesiones.CR, Adhesiones.NI,
Adhesiones.Monitores, Entidades.Logotipo, Oficinas.Denominacion AS DAgencia,
Entidades.LogotipoMedio, Adhesiones.av, Adhesiones.NombreAgente,
Docs_Emision.RutaDocumento, Adhesiones.Op, Oficinas.Area,
Adhesiones.Duracion, Oficinas.Usuario FROM (Entidades INNER JOIN
(((Adhesiones INNER JOIN Oficinas ON Adhesiones.Oficina Oficinas.IdOficina) INNER JOIN DEF_PRODUCTOS ON Adhesiones.IdProducto DEF_PRODUCTOS.IdProducto) LEFT JOIN Zonas ON Adhesiones.Zona = Zonas.IdZona)
ON Entidades.IdEntidad = Oficinas.IdEntidad) LEFT JOIN Docs_Emision ON
Adhesiones.IdProducto = Docs_Emision.IdProducto;
GO

Me funciona ningun problema, pero si intento hacer esto :

CREATE PROCEDURE dbo.InformeAdhesiones (@codexpediente as nvarchar) AS
SELECT Adhesiones.IdAdhesion, Adhesiones.Entidad, Adhesiones.Oficina,
Adhesiones.Adhesion, Adhesiones.Tipo, Adhesiones.IdProducto,
Adhesiones.FechaSalida, Adhesiones.FechaRegreso, Adhesiones.Zona,
Adhesiones.Rc, Adhesiones.Capital_RC, Adhesiones.NumPax,
Adhesiones.NombreAsegurado, Adhesiones.ImporteViaje,
Adhesiones.ImportePoliza, Adhesiones.TarifaAplicada, Adhesiones.Expediente,
Adhesiones.FacturaEmitida, Adhesiones.OkAgencia, Adhesiones.FechaAdhesion,
Adhesiones.HoraAdhesion, Oficinas.CodOficina, Oficinas.Fax,
Oficinas.Telefono, Oficinas.Cod_Postal, Oficinas.Direccion,
Entidades.Denominacion, DEF_PRODUCTOS.Denominacion AS NProducto, Zonas.Zona
AS NZona, Adhesiones.CR, Adhesiones.NI, Adhesiones.Monitores,
Entidades.Logotipo, Oficinas.Denominacion AS DAgencia,
Entidades.LogotipoMedio, Adhesiones.av, Adhesiones.NombreAgente,
Docs_Emision.RutaDocumento, Adhesiones.Op, Oficinas.Area,
Adhesiones.Duracion, Oficinas.Usuario FROM (Entidades INNER JOIN
(((Adhesiones INNER JOIN Oficinas ON Adhesiones.Oficina Oficinas.IdOficina) INNER JOIN DEF_PRODUCTOS ON Adhesiones.IdProducto DEF_PRODUCTOS.IdProducto) LEFT JOIN Zonas ON Adhesiones.Zona = Zonas.IdZona)
ON Entidades.IdEntidad = Oficinas.IdEntidad) LEFT JOIN Docs_Emision ON
Adhesiones.IdProducto = Docs_Emision.IdProducto where adhesiones.expediente@codexpediente ;
GO


Me da este error :

Microsoft OLE DB Provider for SQL Server (0x80040E07)
Error al convertir el tipo de datos int a nvarchar.

Y es lo que me ralla, por que el campo adhesiones.expediente es un nvarchar
que es como lo declare ¿alguna idea?.

Venga gracias anticipadas. TA luego.
 

Leer las respuestas

#1 manuel
30/09/2003 - 19:42 | Informe spam
¿cómo le pasas el parameter al command? Allí debe estar el
problema se me ocurre...
suerte
Manuel

Mostrar la cita
al quererle meter
Mostrar la cita
Adhesiones.IdAdhesion,
Mostrar la cita
Adhesiones.Adhesion,
Mostrar la cita
Adhesiones.FechaSalida,
Mostrar la cita
Adhesiones.NombreAsegurado,
Mostrar la cita
Adhesiones.FacturaEmitida,
Mostrar la cita
Adhesiones.HoraAdhesion,
Mostrar la cita
Oficinas.Cod_Postal,
Mostrar la cita
DEF_PRODUCTOS.Denominacion AS
Mostrar la cita
Adhesiones.NI,
Mostrar la cita
Oficinas.Denominacion AS DAgencia,
Mostrar la cita
Adhesiones.NombreAgente,
Mostrar la cita
INNER JOIN
Mostrar la cita
Adhesiones.IdProducto >DEF_PRODUCTOS.IdProducto) LEFT JOIN Zonas ON
Adhesiones.Zona = Zonas.IdZona)
Mostrar la cita
Docs_Emision ON
Mostrar la cita
nvarchar) AS
Mostrar la cita
Adhesiones.Oficina,
Mostrar la cita
Adhesiones.IdProducto,
Mostrar la cita
Adhesiones.Zona,
Mostrar la cita
Adhesiones.Expediente,
Mostrar la cita
Adhesiones.FechaAdhesion,
Mostrar la cita
Oficinas.Fax,
Mostrar la cita
Oficinas.Direccion,
Mostrar la cita
NProducto, Zonas.Zona
Mostrar la cita
Adhesiones.Monitores,
Mostrar la cita
Adhesiones.NombreAgente,
Mostrar la cita
INNER JOIN
Mostrar la cita
Adhesiones.IdProducto >DEF_PRODUCTOS.IdProducto) LEFT JOIN Zonas ON
Adhesiones.Zona = Zonas.IdZona)
Mostrar la cita
Docs_Emision ON
Mostrar la cita
adhesiones.expediente>@codexpediente ;
Mostrar la cita
adhesiones.expediente es un nvarchar
Mostrar la cita

Preguntas similares