R Ricki Medlem sedan juni 2000 373 inlägg Trådstart 15 aug. 2000 10:21 #1 Varför funkar inte detta. Jag blir tokig:
'--------------------------------------------------
' Öppna databasen
'--------------------------------------------------
password = "***"
databas = "databaser/***.mdb"
DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"), "\")) & databas)
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DBPath & ";uid=;pwd=" & password & ";"
Set databas = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * From Kort"
databas.Open SQL, MinCon, 1, 2
'--------------------------------------------------------
' Lägg till datat
'--------------------------------------------------------
databas.AddNew
databas("Kort") = Request.Querystring("KorId")
databas("Datum") = Date
databas("Fran") = Request.Form("Fran")
databas("Mess") = Request.Form("Mess")
databas.Update
@nders Medlem sedan juni 2000 32 967 inlägg vad är det som inte funkar då?
vad får du för felmeddelande?
R Ricki Medlem sedan juni 2000 373 inlägg Microsoft OLE DB Provider for ODBC Drivers fel '80004005'
[Microsoft][Drivrutin för ODBC Microsoft Access]Fel i rad
/ricki4/vykort_ivag.asp, rad 53
@nders Medlem sedan juni 2000 32 967 inlägg om du kör en svensk access så kan det bero på att datum är ett reserverat ord. förbigå det genom att skriva en riktig insert-fråga där du specificerar fältnamnen inom hakparenteser [].
[redigering]insert ska de ju va...[/redigering]
R Ricki Medlem sedan juni 2000 373 inlägg Nu e de följande.
'--------------------------------------------------
' Öppna databasen
'--------------------------------------------------
password = "***"
databas = "databaser/***.mdb"
DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"), "\")) & databas)
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DBPath & ";uid=;pwd=" & password & ";"
Set databas = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * From Kort"
databas.Open SQL, MinCon, 1, 2
'--------------------------------------------------------
' Lägg till datat
'--------------------------------------------------------
databas.AddNew
databas("Kort") = Request.Querystring("KorId")
databas("PostatDen") = Date
databas("Fran") = Request.Form("Fran")
databas("Mess") = Request.Form("Mess")
databas.Update
Jag döpte om kolumnen. Men det är fortfarande samma problem...
@nders Medlem sedan juni 2000 32 967 inlägg mitt förslag är ända att aldrig använda recordset-objektets metoder för att lägga in/ändra data i en tabell. skriv riktiga sql-satser i stället. i det här fallet skulle det väl se ut nånting sånt härnt:
'--------------------------------------------------
' Öppna databasen
'--------------------------------------------------
password = "***"
databas = "databaser/***.mdb"
DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"), "\")) & databas)
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DBPath & ";uid=;pwd=" & password & ";"
Set databas = Server.CreateObject("ADODB.Recordset")
'--------------------------------------------------------
' Lägg till datat
'--------------------------------------------------------
SQL = "INSERT INTO [Kort] ([Kort], [Fran], [Mess], [PostatDen]) VALUES ('" & Request.Querystring("KorId") & "', #" & Date & "#, '" & Request.Form("Fran") & "', '" & Request.Form("Mess") & "')"
databas.execute (SQL)
jag har förutsatt att PostatDen är ett datumfält, och resten är textfält.
R Ricki Medlem sedan juni 2000 373 inlägg Jag vill inte göra så!
Jag har alldrig gjort så förut och det ahr fungerat utmärkt...
@nders Medlem sedan juni 2000 32 967 inlägg okej, gör på ditt sätt då.
då kan jag inte hjälpa dig mer.
E emission Medlem sedan dec. 1999 6 721 inlägg Då är det dags att du lär dig använda vanliga SQL-satser. Det är MYCKET bättre, och lättare att felsöka.
E emission Medlem sedan dec. 1999 6 721 inlägg Därför att man aldrig behöver skapa ett recordset, som sedan hålls öppet onödigt länge. Belastar databasen mycket mer än en INSERT.
R Ricki Medlem sedan juni 2000 373 inlägg Ok.. Tack
Vet nån var man kan lära sig det?
Vide Medlem sedan dec. 1999 8 577 inlägg