ASP - Error datetime SP

 
Vista:
Imágen de perfil de Be7or

Error datetime SP

Publicado por Be7or (17 intervenciones) el 25/11/2008 18:53:12
Hola buenas,

Tengo un problemita k me esta atorando demasiado el termino de un proyecto y es que tengo un SP que debe ingresar dos registros a una tabla dependiendo el modulo, uno de los parametros k paso es la fecha actual, lo hago desde asp para evitar que me tome los miliseguindos, el problema esta en k me arroja un error al konvertir datos.

Espero y puedan ayudarme y si es necesario mas informacion diganme.

-----------------------------------------------[stored procedure]-----------------------------------------------

ALTER PROCEDURE [dbo].[closeDetail]
@problem int,
@gpo nvarchar(20),
@seqGpo int,
@modulo nvarchar(20),
@spdate nvarchar(20)
AS
Declare @maxSeq int
Declare @seqStaff int
Declare @pdate datetime
select @spdate = REPLACE(@spdate,'.','')
select @pdate = CONVERT(DATETIME,@spdate)
IF @modulo = 'Inc'
BEGIN
SELECT @seqStaff = [SENT TO] FROM _SMDBA_._TELMASTE_ WHERE SEQUENCE = @problem
SELECT @maxSeq = MAX(SEQUENCE) + 1 FROM _SMDBA_._TELDETAI_
INSERT INTO _SMDBA_._TELDETAI_ (SEQUENCE,[_GROUP_],[PROBLEM #],PERSON,ACTION,[FROM_GROUP:],DESCRIPTION) VALUES (@maxSeq,@seqGpo,@problem,@seqStaff,41,@gpo,'User Defined Status Changed To CLOSED')
INSERT INTO _SMDBA_._TELDETAI_ (SEQUENCE,[_GROUP_],[PROBLEM #],PERSON,ACTION,[FROM_GROUP:],DESCRIPTION) VALUES (@maxSeq + 1,@seqGpo,@problem,@seqStaff,4,@gpo,'Close Call # ' + Ltrim(str(@problem)))
UPDATE dbo.SMSYSRECNUM SET RECNUM = @maxSeq + 1 WHERE NAME = '_TELDETAI_'
END
ELSE
BEGIN
SELECT @seqStaff = [SENT TO] FROM _SMDBA_._WORKORD_ WHERE SEQUENCE = @problem
SELECT @maxSeq = MAX(SEQUENCE) + 1 FROM _SMDBA_._WORKDET_
INSERT INTO _SMDBA_._WORKDET_ (SEQUENCE,[_GROUP_],TTNUM,PERSON,ACTION,[FROM_GROUP:],DESCRIPTION) VALUES (@maxSeq,@seqGpo,@problem,@seqStaff,42,@gpo,'User Defined Status Changed To CLOSED')
INSERT INTO _SMDBA_._WORKDET_ (SEQUENCE,[_GROUP_],TTNUM,PERSON,ACTION,[FROM_GROUP:],DESCRIPTION) VALUES (@maxSeq + 1,@seqGpo,@problem,@seqStaff,15,@gpo,'Closed WO # ' + Ltrim(str(@problem)))
UPDATE dbo.SMSYSRECNUM SET RECNUM = @maxSeq + 1 WHERE NAME = '_WORKDET_'
END

--------------------------------------------[codigo k ejekuta el sp]--------------------------------------------

Dbconn.Execute "EXEC closeDetail " & strSEQ & ",'" & strGPO & "'," & seqGPO & ",'" & strMod & "','" & Now & "'"

----------------------------------------------[error k me muestra]----------------------------------------------

Microsoft OLE DB Provider for ODBC Drivers error '80040e57'

[Microsoft][ODBC SQL Server Driver][SQL Server]Arithmetic overflow error converting expression to data type datetime.

------------------------------------------------------------------------------------------------------------------------

Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error datetime SP

Publicado por weirdmix (210 intervenciones) el 25/11/2008 20:36:18
como estas mandando el parametro de fecha, con q formato??
es recomendable q si la fecha q vas a insertar es la fecha actual, la obtengas directamente del motor de la BBDD, si es MsSql la funcion es getdate(), si es otra fecha q el usuario proporciona, restringe el formato para q puedas enviar a la BBDD el siguiente formato: yyyy-mm-aa

mas dudas? echame un mail...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de be

RE:Error datetime SP

Publicado por be (17 intervenciones) el 25/11/2008 21:10:27
Uso SQL server 2000 y ya lo intente con getdate() pero me saca milisengundos y es lo k no kiero por eso obte por pasarlo kon asp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Be7or

RE:Error datetime SP

Publicado por Be7or (17 intervenciones) el 25/11/2008 23:14:47
Ya me kedo.

----------------------------------------------[Stored Procedure]----------------------------------------------

ALTER PROCEDURE [dbo].[closeDetail]
@problem int,
@gpo nvarchar(20),
@seqGpo int,
@modulo nvarchar(20),
@spdate nvarchar(20)
AS
Declare @maxSeq int
Declare @seqStaff int
Declare @pdate datetime
select @pdate = CONVERT(DATETIME,@spdate)
IF @modulo = 'Inc'
BEGIN
SELECT @seqStaff = [SENT TO] FROM _SMDBA_._TELMASTE_ WHERE SEQUENCE = @problem
SELECT @maxSeq = MAX(SEQUENCE) + 1 FROM _SMDBA_._TELDETAI_
INSERT INTO _SMDBA_._TELDETAI_ (SEQUENCE,[_GROUP_],[PROBLEM #],PDATE,PERSON,ACTION,[FROM_GROUP:],DESCRIPTION) VALUES (@maxSeq,@seqGpo,@problem,@pdate,@seqStaff,41,@gpo,'User Defined Status Changed To CLOSED')
INSERT INTO _SMDBA_._TELDETAI_ (SEQUENCE,[_GROUP_],[PROBLEM #],PDATE,PERSON,ACTION,[FROM_GROUP:],DESCRIPTION) VALUES (@maxSeq + 1,@seqGpo,@problem,@pdate,@seqStaff,4,@gpo,'Close Call # ' + Ltrim(str(@problem)))
UPDATE dbo.SMSYSRECNUM SET RECNUM = @maxSeq + 1 WHERE NAME = '_TELDETAI_'
END
ELSE
BEGIN
SELECT @seqStaff = [SENT TO] FROM _SMDBA_._WORKORD_ WHERE SEQUENCE = @problem
SELECT @maxSeq = MAX(SEQUENCE) + 1 FROM _SMDBA_._WORKDET_
INSERT INTO _SMDBA_._WORKDET_ (SEQUENCE,[_GROUP_],TTNUM,PERSON,ACTION,[FROM_GROUP:],DESCRIPTION) VALUES (@maxSeq,@seqGpo,@problem,@seqStaff,42,@gpo,'User Defined Status Changed To CLOSED')
INSERT INTO _SMDBA_._WORKDET_ (SEQUENCE,[_GROUP_],TTNUM,PERSON,ACTION,[FROM_GROUP:],DESCRIPTION) VALUES (@maxSeq + 1,@seqGpo,@problem,@seqStaff,15,@gpo,'Closed WO # ' + Ltrim(str(@problem)))
UPDATE dbo.SMSYSRECNUM SET RECNUM = @maxSeq + 1 WHERE NAME = '_WORKDET_'
END

-------------------------------------------[codigo k ejekuta el sp]-------------------------------------------

Dbconn.Execute "EXEC closeDetail " & strSEQ & ",'" & strGPO & "'," & seqGPO & ",'" & strMod & "','" & month(now) & "/" & day(now) & "/" & year(now) & " " & hour(now) & ":" & minute(now) & ":" & second(now) & "'"

---------------------------------------------------------------------------------------------------------------------

Gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar