webForumDet fria alternativet
Logga in / Bli medlem

problems

ASP

11 svar · 276 visningar · startad av His Divine Shadow

Medlem sedan sep. 20004 079 inlägg
Trådstart#1

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
Medlem sedan dec. 200012 464 inlägg
#2

Andra argumentet till open skall vara ett connectionobjekt

objRec.Open "kat", connect,adOpenStatic, _
adLockOptimistic, adCmdTable
Medlem sedan sep. 20004 079 inlägg
#3

Samma fel ännu

[Redigerat av His Divine Shadow den 29 aug 2001]

Medlem sedan aug. 20012 349 inlägg
#4
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.

Medlem sedan okt. 20005 273 inlägg
#5

det är väl inte så bra att använda ÅÄÖ i databaser så där heller ;)

Medlem sedan sep. 20004 079 inlägg
#6

ARGH!!!!!!!!! x(
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....

Medlem sedan sep. 20004 079 inlägg
#7

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")
%>
Medlem sedan juni 200032 967 inlägg
#8

när du öppnar recordsetet kallar du ditt connectionobjekt för connect. dock inte när du skapar det...

Medlem sedan sep. 20004 079 inlägg
#9

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...

Medlem sedan mars 20016 260 inlägg
#10

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*

Medlem sedan sep. 20004 079 inlägg
#11

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.

Medlem sedan juni 200032 967 inlägg
#12

hds:

objRec("ovrigt_swe") = Free(Ovrigt_swe)

mvh,

266 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)