Avatar billede totalpc Seniormester
08. oktober 2007 - 14:43 Der er 5 kommentarer og
1 løsning

gemme i databasen

Hej
Bruger access database 2007.
Har noget gammelt kode som jeg har tilrette, men jeg ved ikke om jeg gør det forkert når jeg prøve at gemme. Den siger:

ADODB.Recordset error '800a0e79'
Operation is not allowed when the object is open.
/opret_kreds_db.asp, line 24

Det kan godt være at jeg er kommet til at blande noget kode.

<!-- #include file="db.inc" -->
<%
strSQL = "SELECT * FROM kredse;"
set rs = conn.Execute(strsql)

strKreds               = Trim(Replace(replace(Request.Form("kreds"),"'",""),"<","&lt;"))
strBeskrivelse    = Trim(Replace(replace(Request.Form("beskrivelse"),"'",""),"<","&lt;"))

if len(strkreds) < 1 or strkreds ="" then
  Response.Redirect "opret_kreds.asp?msg=" & Server.URLEncode ("Kreds skal indtasten.")& "&kreds=" & Server.URLEncode(strkreds)& "&beskrivelse=" & Server.URLEncode(strbeskrivelse)
end if

strkreds = Request.form("kreds")
sql = "select * from kredse where kreds = '" & strKreds & "'"
set rs = conn.Execute(sql)
if not rs.eof then
  Response.Redirect "opret_kreds.asp?msg=" & Server.URLEncode ("Kreds eksisterer allerede")& "&kreds=" & Server.URLEncode(strkreds)& "&beskrivelse=" & Server.URLEncode(strbeskrivelse)
end if

'rsAddComments.CursorType = 2
rs.CursorType = 2
rs.LockType = 3
rs.Open strSQL, adoCon
rs.AddNew
rs.Fields("kreds")= Request.Form("kreds")
rs.Fields("beskrivelse")  = Request.Form("kreds")

rs.Update

'Reset server objects
rs.Close
conn.close

Response.Redirect "view_kredse.asp"
%>

En der kan hjælpe med at rense lidt ud ?
Avatar billede totalpc Seniormester
08. oktober 2007 - 14:52 #1
Jeg skal bare have gemt kreds og beskrivelse i basen og hvis kreds findes i forvejen skal jeg returneres til opret_kreds.asp med besked.
Avatar billede sherlock Nybegynder
08. oktober 2007 - 15:03 #2
Sæt
rs.Close
ind før du laver en ny rs.Open
Avatar billede totalpc Seniormester
08. oktober 2007 - 15:14 #3
Nu får jeg fejlen:

ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/opret_kreds_db.asp, line 25

Min db.inc ser således ud:

<% Session.LCID=1030 %>

<%
Dim DNS
Dim Conn
Dim sql

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("medlemsrs.accdb") & ";Persist Security Info=False"
Conn.Open DSN
%>

Er der ikke noget rod i de der connectionting ?
Avatar billede sherlock Nybegynder
08. oktober 2007 - 15:51 #4
rs.Fields("kreds")= Request.Form("kreds")
rs.Fields("beskrivelse")  = Request.Form("kreds")

Den nederste skal være "beskrivelse" ?

Er kreds et tal-felt?, så skal du måske bruge CInt(Request.Form("kreds"))
Avatar billede totalpc Seniormester
08. oktober 2007 - 15:58 #5
Yeps..rettet, men stadig sammen fejl
Det er tekstfelter begge 2
Avatar billede totalpc Seniormester
18. december 2007 - 12:47 #6
!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester