webForumDet fria alternativet

INSERT datum och tid

10 svar · 192 visningar · startad av Sammy

SammyMedlem sedan maj 2000202 inlägg
#1

Hur ska SQL-raden se ut om jag vill lägga in dagens datum och nuvarande tid i en databas?

Tacksam för svar

LarsGMedlem sedan dec. 200012 464 inlägg
#2
insert into ogrish(aleb) values(now())

Funktionen now finns även i Access.

SammyMedlem sedan maj 2000202 inlägg
#3

Om jag vill skriva in det för den användare som loggar in så skall det se ut ungeför så här - eller?

  SQL = "INSERT INTO konto(datum) values(now()) WHERE idnr = " & session("userid") & " "

Det gick dock inte...

Fellmeddeland:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Semikolon saknas i slutet av SQL-uttryck.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Njae, då behövs en update

SQL = "update konto set datum=now() WHERE idnr = " & session("userid")
SammyMedlem sedan maj 2000202 inlägg
#5

Aha... när du säger det så... ;)

fick då meddelandet:

Feltyp:
ADODB.Recordset (0x800A0E78)
Åtgärden är inte tillåten när objektet är stängt.

Här är hela koden:

 <% 

  Dim RS, Conn, SQL, Anv, Passwd

  Anv = Replace(Trim(Request.Form("Anv")),"'","")
  Passwd = Replace(Trim(Request.Form("Passwd")),"'","")

  If Anv = "" Or Passwd = "" Then
  session("fel") = "&nbsp;&nbsp;Du måste skriva in både användarnamn och lösenord!&nbsp;&nbsp;"
  Response.Redirect("iis_index.asp")
  End If

  Set Conn = Server.CreateObject("ADODB.Connection")
  Set RS = Server.CreateObject("ADODB.RecordSet")
  Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("konto.mdb")

  SQL = "SELECT * FROM konto WHERE User = '" & Anv & "' AND Losen = '" & Passwd & "'"

  RS.Open SQL, Conn, 0, 1

   If RS.EOF = TRUE Then 
  RS.Close 
  Conn.Close
  session("fel1") = "&nbsp;&nbsp;Det kontot existerar ej!&nbsp;&nbsp;"
  Response.Redirect("iis_index.asp")
  Else
 
  If Anv = RS("User") AND Passwd = RS("Losen") Then

  Session.Timeout = 20
  Session("UserId") = RS("IDNR")

  SQL = "update konto set datum=now() WHERE idnr = " & session("userid") 
  set RS = Conn.Execute(SQL)

  RS.Close
  Conn.Close
  Response.Redirect("startsidan.asp")

  Else 
  RS.Close 
  Conn.Close
  session("fel1") = "&nbsp;&nbsp;Tänk på att det är skillnad på versaler/gemener&nbsp;&nbsp;"
  Response.Redirect("iis_index.asp")
  End IF

  End If

%>

Är objektet verkligen stängt???

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Det behövs inget recordset vid update

SQL = "update konto set datum=now() WHERE idnr = " & session("userid") 
Conn.Execute SQL,,128
Conn.Close

128 innebär att man inte skapar något recordset alls.

Det recordset som returneras i ditt fall är redan stängt

SammyMedlem sedan maj 2000202 inlägg
#7

ok... jag har mycket att lära.. här... ;)

Får trots din korrigering samma felmeddelande?

solbulleMedlem sedan mars 20015 287 inlägg
#8

Om han nu samtidigt ska plocka ut RS("IDNR") mm behövs det ju ett rs...

RED. Glöm mig, kanske ska lära mig att läsa allt inan jag börjar tjafsa :)

SammyMedlem sedan maj 2000202 inlägg
#9

Löste det.. tog bara bort Conn.Close ifrån

SQL = "update konto set datum=now() WHERE idnr = " & session("userid") 
Conn.Execute SQL,,128
Conn.Close

eftersom man stänger den raden under

Tack alla ändå ;)

JosefMedlem sedan mars 20023 561 inlägg
#10

Stäng det så snabbt som möjligt, dvs under raden:

Session("UserId") = RS("IDNR")
SammyMedlem sedan maj 2000202 inlägg
#11

Du menar recordset? eller?

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)