webForumDet fria alternativet

Problem med funktion och rs

ASP

5 svar · 224 visningar · startad av Mossa

Medlem sedan dec. 200123 inlägg
Frågan#1

Har ett litet problem. Nämligen så att jag har en funktion som ska göra en fin tidsvisning som sen ska sparas i databasen. Funktionen fungerar helt perfekt om jag kör den normalt... dvs. skriver:

<%=Funktionensnamn%>

Då visar den funktionen och det fina modifierade klockslaget (vilket borde betyda att det inte är något fel på funktionen). MEN, när jag sen vill lägga in detta i databasen via koden...

RecSet.AddNew
RecSet("Tid") = Funktionensnamn
RecSet.Update

... så fungerar det inte!?

Om jag i databasen sätter fältet "Tid" som obligatoriskt får jag felmeddelandet "error in row" på raden 'RecSet.Update'. Om jag inte gör fältet obligatoriskt så blir det bara tomt, funktionen körs inte eller något...

Skulle vara mkt trevligt om någon kunde lösa det här. Kanske måste jag visa mer kod ifall felet ligger någon annanstans och då får ni säga till.

Tack på förhand!

/Mossa

Medlem sedan dec. 200012 464 inlägg
#2

Du kan inte bestämma i vilket format ett datum lagras i databasen. Det gör detsamma hur du formatterar det innan du försöker lagra det. Alla datum lagras som numeriska värden och om du vill ha en viss formattering så får du göra den när du hämtar värdet.

Medlem sedan dec. 200123 inlägg
#3

Datum? Detta har inget med datum att göra. Problemet ligger inte alls där. Jag försöker förklara igen... och vi kan skippa ordet Tid ifall det är förvirrande - det kan vara vadsomhelst, vanlig text/siffer-data som ska lagras i en databas PM-fält.

Om jag skriver ...

RecSet("Fält") = "datasomskalagras"

... så lagras det i databasen. Men om jag skriver ...

RecSet("Fält") = funktionensnamn

... så funkar det inte.

Frågeställningen bör alltså bli något i stil med följande:
Kan man skriva funktionens namn efter 'RecSet("fält") = detsomskainidatabasen' på något sätt så att funktionens värde hamnar efter likamed-tecknet och därmed lagras i databasen?

/Mossa

Medlem sedan dec. 200012 464 inlägg
#4

Det skall gå att använda en funktion på det sättet som du skrev. Då tror jag mer på att det är något fel på din funktion, t.ex. att den returnerar null.

Medlem sedan juni 200032 967 inlägg
#5

Alltså, det skulle vara bra om vi fick se lite mer kod. :)

Mvh,

Medlem sedan dec. 200123 inlägg
#6

Hehe, ni har nog rätt - det var min funktion. Gjorde en ny och hittade samtidigt ett smidigt sätt att formatera tiden precis som jag ville utan att skriva en lång egen krånglig sak.

Så här får ni "den rätta lösningen"

Function GetCurrentDate
   GetCurrentDate = FormatDateTime(Now, 4) 
End Function

... och smockar bara in det i databasen precis som allt annat ...

RecSet("Fält") = GetCurrentDate

... så får man en fin klockslagsformatering i form av hh:mm

Tack iaf, och hoppas att någon annan också finner nytta av denna enkla funktion.

/Mossa

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)