Hur ska SQL-raden se ut om jag vill lägga in dagens datum och nuvarande tid i en databas?
Tacksam för svar
10 svar · 192 visningar · startad av Sammy
Hur ska SQL-raden se ut om jag vill lägga in dagens datum och nuvarande tid i en databas?
Tacksam för svar
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.
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") = " Du måste skriva in både användarnamn och lösenord! "
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") = " Det kontot existerar ej! "
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") = " Tänk på att det är skillnad på versaler/gemener "
Response.Redirect("iis_index.asp")
End IF
End If
%>
Är objektet verkligen stängt???
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
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 :)
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å ;)
Du menar recordset? eller?