webForumDet fria alternativet

HjÄlp!!!

ASPur ASP

14 svar · 297 visningar · startad av Ricki

Medlem sedan juni 2000373 inlägg
Frågan#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

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan juni 200032 969 inlägg
#2

vad är det som inte funkar då?
vad får du för felmeddelande?

------------------
don't follow your friends -- inflate them

Medlem sedan juni 2000373 inlägg
#3

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

Medlem sedan juni 200032 969 inlägg
#4

och vilken är rad 53?

------------------
don't follow your friends -- inflate them

Medlem sedan juni 2000373 inlägg
#5

databas.Update

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan juni 200032 969 inlägg
#6

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]

Medlem sedan juni 2000373 inlägg
#7

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

Medlem sedan juni 200032 969 inlägg
#8

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

Medlem sedan juni 2000373 inlägg
#9

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

Medlem sedan juni 200032 969 inlägg
#10

okej, gör på ditt sätt då.
då kan jag inte hjälpa dig mer.

------------------
don't follow your friends -- inflate them

Medlem sedan dec. 19996 721 inlägg
#11

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.

Medlem sedan juni 2000373 inlägg
#12

Varför är det bättre?

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan dec. 19996 721 inlägg
#13

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.

Medlem sedan juni 2000373 inlägg
#14

Ok.. Tack
Vet nån var man kan lära sig det?

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan dec. 19998 577 inlägg
#15

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?

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