AndyMedlem sedan sep. 2001138 inlägg
Får ett felmeddelande när jag anropar en stored procedure på en sida:
Error converting data type varchar to datetime.
/members/default.asp, line 281
Anropet ser ut så här:
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = Connect
cmd.CommandType = adCmdText
cmd.CommandText = "sp_listTopicsByUser '" & trim(Session("userid")) & "','" & CDate(Session("lastVisit")) & "'"
set rs = cmd.execute
Rad 279 är den sista, dvs: set rs = cmd.execute
Min store procedure ser ut så här:
CREATE PROCEDURE sp_listTopicsByUser
@id int,
@lastvisit datetime
AS
SELECT ID AS ID, Title AS Title, [Date] AS Date,
(SELECT COUNT(*)
FROM tablePosts
WHERE BelongsToTopic = tt.ID) AS Replies,
(SELECT COUNT(*)
FROM tablePosts
WHERE (BelongsToTopic = tt.ID AND Date > @lastvisit)) AS NewReplies
FROM tableTopics tt
WHERE (Poster = @id)
ORDER BY [Date] DESC
GO
Skriver jag ut cmd.CommandText-strängen med response.write får jag följande resultat:
sp_listTopicsByUser '1','27-11-2001 10:00:31'
LarsGMedlem sedan dec. 200012 465 inlägg
Vilket datumformat har du specificerat för databasen?
Det finns ett sql-server kommando som heter
set dateformat
där man kan ange hur datumvärden skall tolkas. Default är att det tolkas som mdy dvs månad dag år.
set dateformat dmy
skulle då bli att man tolkar datum som dag månad år.
------------------
essentitia preter non sans multiplicandum
AndyMedlem sedan sep. 2001138 inlägg
Det fixade sig när jag lade in
Session.LCID = 1033
En fråga dock - var lägger jag in
set dateformat mdy
?
Får det inte att fungera med den kodsnutten, nämligen.
LarsGMedlem sedan dec. 200012 465 inlägg
Då så, men annars så borde du kunna lägga till set i din procedur eller så
cmd.CommandText = "set dateformat dmy exec sp_listTopicsByUser '" & trim(Session("userid")) & "','" & CDate(Session("lastVisit")) & "'"
------------------
essentitia preter non sans multiplicandum
AndyMedlem sedan sep. 2001138 inlägg
Man kan inte lägga till set dateformat så att det gäller på hela siten? Jag har ju en includefil som förekommer på alla sidor på siten. Det går inte att lägga in där på något sätt?
LarsGMedlem sedan dec. 200012 465 inlägg
Jo, det borde bli ok. Så vitt jag förstår så gäller det tillsvidare inom sessionen.
Sen så går det nog också att bestämma per databas. Det hänger nog ihop med vilket språk man har valt, men det är inget som jag har tittat på.
------------------
essentitia preter non sans multiplicandum