Andra argumentet till open skall vara ett connectionobjekt
objRec.Open "kat", connect,adOpenStatic, _
adLockOptimistic, adCmdTable
11 svar · 276 visningar · startad av His Divine Shadow
När jag ska lägga till en ny post i databasen händer detta:
ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/katalog/swe/AddUser.asp, line 52
Koden är såhär:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\data\WebData\katalog.mdb"
SQL = "SELECT * FROM Kat"
%>
<!-- #INCLUDE FILE = "adovbs.inc" -->
<%
'the purpose of this page is to add users to the database
%>
<%
'create variable to hold email address
DIM Namn
Email = Request.Form("Namn")
DIM Epost
Fornamn = Request.Form("Epost")
DIM Näradress
Efternamn = Request.Form("Näradress")
DIM postnr
Efternamn = Request.Form("postnr")
DIM ort
Efternamn = Request.Form("ort")
DIM Tel
Datum = Request.Form("Tel")
DIM fax
Email = Request.Form("Fax")
DIM www
Fornamn = Request.Form("www")
DIM Ämnesområde
Efternamn = Request.Form("Ämnesområde")
DIM Övrigt_swe
Datum = Request.Form("Övrigt_swe")
DIM Övrigt_fin
Datum = Request.Form("Övrigt_fin")
DIM password
Datum = Request.Form("password")
'create variable to hold database object and initialize it
Dim objRec
Set objRec = Server.CreateObject("ADODB.Recordset")
'open the database table EmailList
objRec.Open "kat", adOpenStatic, \_
adLockOptimistic, adCmdTable
Function Free(txt)
If IsEmpty(txt) OR IsNull(txt) Then Exit Function
txt = Server.HTMLEncode(txt)
txt = Replace(Trim(txt), vbCrLf, "<br>")
Free = txt
End Function
'create a new record
objRec.AddNew
'set the field equal to the variable
objRec("Namn") = Namn
objRec("Epost") = Epost
objRec("Näradress") = Näradress
objRec("Postnr") = Postnr
objRec("Ort") = Ort
objRec("Tel") = Tel
objRec("Fax") = Fax
objRec("www") = www
objRec("ämnesområde") = ämnesområde
\=free(objrec("Övrigt_swe")) = Övrigt_swe
\=free(objrec("Övrigt_fin") = Övrigt_fin
objRec("Password") = Password
'update the database with the new record
objRec.Update
'close the database
objRec.Close
Set objRec = Nothing
Andra argumentet till open skall vara ett connectionobjekt
objRec.Open "kat", connect,adOpenStatic, _
adLockOptimistic, adCmdTable
create variable to hold email address
DIM Namn
Email = Request.Form("Namn")
DIM Epost
Fornamn = Request.Form("Epost")
DIM Näradress
Efternamn = Request.Form("Näradress")
DIM postnr
Efternamn = Request.Form("postnr")
DIM ort
Efternamn = Request.Form("ort")
DIM Tel
Datum = Request.Form("Tel")
DIM fax
Email = Request.Form("Fax")
DIM www
Fornamn = Request.Form("www")
DIM Ämnesområde
Efternamn = Request.Form("Ämnesområde")
DIM Övrigt_swe
Datum = Request.Form("Övrigt_swe")
DIM Övrigt_fin
Datum = Request.Form("Övrigt_fin")
DIM password
Datum = Request.Form("password")
Är det inte något som är synnerligen underligt i dina tilldelninger, verkar inte som om rätt variabel i rs får rätt form variabel...
Dessutom tilldelar du Datum tre olika saker på rad, den får bara den sista som värde, kan ju vara bra att veta.
det är väl inte så bra att använda ÅÄÖ i databaser så där heller
ARGH!!!!!!!!!
Det är en gammal kod, hadde upp en gammal fil ur ett backup, filen är inte helt korrekt.
ÅÄÖ är borta i den nya så också detta datum misstag...
nu är jag förbannad, f*n allt går åt h*lvete idag....
Den nya koden:
Och ja det funkar fortfarande inte...
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\data\WebData\katalog.mdb"
SQL = "SELECT * FROM Kat"
%>
<!-- #INCLUDE FILE = "../adovbs.inc" -->
<%
'create variable to hold email address
DIM Namn
namn = Request.Form("Namn")
DIM Epost
Epost = Request.Form("Epost")
DIM Naradress
Naradress = Request.Form("Naradress")
DIM postnr
postnr = Request.Form("postnr")
DIM ort
ort = Request.Form("ort")
DIM Tel
Tel = Request.Form("Tel")
DIM fax
fax = Request.Form("Fax")
DIM www
www = Request.Form("www")
DIM AmnesomrAde
AmnesomrAde = Request.Form("Amnesomrade")
DIM Ovrigt_swe
Ovrigt_swe = Request.Form("Ovrigt_swe")
DIM Ovrigt_fin
Ovrigt_fin = Request.Form("Ovrigt_fin")
DIM password
password = Request.Form("password")
Dim objRec
Set objRec = Server.CreateObject("ADODB.Recordset")
objRec.Open "kat", connect, adOpenStatic , _
adLockOptimistic, adCmdTable
Function Free(txt)
If IsEmpty(txt) OR IsNull(txt) Then Exit Function
txt = Server.HTMLEncode(txt)
txt = Replace(Trim(txt), vbCrLf, "<br>")
Free = txt
End Function
'create a new record
objRec.AddNew
'set the field equal to the variable
objRec("Namn") = Namn
objRec("Epost") = Epost
objRec("Naradress") = Naradress
objRec("Postnr") = Postnr
objRec("Ort") = Ort
objRec("Tel") = Tel
objRec("Fax") = Fax
objRec("www") = www
objRec("amnesomrade") = Amnesomrade
objRec("ovrigt_swe") = Ovrigt_swe
objRec("ovrigt_fin") = Ovrigt_fin
objRec("Password") = Password
'update the database with the new record
objRec.Update
'close the database
objRec.Close
Set objRec = Nothing
'un-comment this line to point to your desired confirm page
Response.Redirect("http://www.uniimport.fi/kundLista.asp?sort=namn")
'tell the user their account is added
' Response.Write("User Added")
%>
när du öppnar recordsetet kallar du ditt connectionobjekt för connect. dock inte när du skapar det...
OK tack, förresten hur gör jag så att jag får den där
Function Free(txt)
If IsEmpty(txt) OR IsNull(txt) Then Exit Function
txt = Server.HTMLEncode(txt)
txt = Replace(Trim(txt), vbCrLf, "<br>")
Free = txt
End Function
Att funka med:
objRec("ovrigt_swe") = Ovrigt_swe
Jag tänkte såhär:
=free(objRec("ovrigt_swe"))
Men det var inte rätt sade nån här...
hum.. det kan inte vara så att password är ett reserverat ord? *ska erkänna att jag inte titta på så mycket kod då jag inte orkar hålla på med det*
Fattar inte vad du menar...
Lösenordet används då man ska redigera sin egen profil.
Äh, det viktiga är om hur jag implementerar formaterings funktionen, som jag skrev om lite högre upp.