vad är det som inte funkar då?
vad får du för felmeddelande?
------------------
don't follow your friends -- inflate them
14 svar · 297 visningar · startad av Ricki
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
------------------
Hälsningar Ricki
www.ricki.nu
vad är det som inte funkar då?
vad får du för felmeddelande?
------------------
don't follow your friends -- inflate them
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
------------------
Hälsningar Ricki
www.ricki.nu
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]
------------------
don't follow your friends -- inflate them
[Redigerat av @nders den 15 aug 2000]
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...
------------------
Hälsningar Ricki
www.ricki.nu
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.
------------------
don't follow your friends -- inflate them
Jag vill inte göra så!
Jag har alldrig gjort så förut och det ahr fungerat utmärkt...
------------------
Hälsningar Ricki
www.ricki.nu
okej, gör på ditt sätt då.
då kan jag inte hjälpa dig mer.
------------------
don't follow your friends -- inflate them
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.
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.
webAvis ASPskola om databaser: http://www.webavis.nu/webavis/html/artiklar/asp/asp8.shtml
------------------
PC-älskare prasslar i säven, och har malt i ryggen
www.webeye.nu
Är du med i facket?