---
title: "Mysskofel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12127-mysskofel"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Tobbster"
published: "2001-10-16T06:49:00.000Z"
updated: "2001-10-16T17:11:00.000Z"
replies: 10
views: 249
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/12127-mysskofel"
---

# Mysskofel

## #1 — Tobbster, 2001-10-16T06:49Z

```
<!-- #include file="./gaaah.inc" -->
<html>
<head>
        <title>Uppdatering av uppgifter</title>

</head>
<body bgcolor="white">
<%
Response.Expires = -1000
Response.Addheader "Pragma", "no-cache"
%>

<%
Dim mobil
mobil=request.form("mob")

Dim Info
info=request.form("info")

Dim id
id=request.querystring("id")

Dim faxnr
faxnr=request.form("fax")

Dim epostpriv
epostpriv=request.form("Epostpriv")

Dim tfnhem
tfnhem=request.form("tfnhem")

 Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open connString
        Strsql="select * from Vytelpersoninfo where PersonID = '"&id&"' "
         Set rs = Conn.execute (Strsql)

SQL1="update Vytelpersoninfo set info='"&info&"' where PersonID = '"&id&"'"

Do while not rs("typk")="TfnMobil"
rs.movenext
loop

if rs("typk")="TfnMobil" then
   SQL= "update Vytelpersoninfo set Kontakt='"&mobil&"' where PersonID = '"&id&"' and typk='TfnMobil'"
 else
   SQL="insert into tbltelpersonkontakt(personid,kontakttyp,kontakt) values('"&id&"','2','"&mobil&"')"
end if

rs.movefirst

[b]Do while not rs("typk")="Fax"[/b]
rs.movenext
loop

if rs("typk")="Fax" then
   SQL2= "update Vytelpersoninfo set Kontakt='"&faxnr&"' where PersonID = '"&id&"' and typk='Fax'"
else
  SQL2="insert into tbltelpersonkontakt(personid,kontakttyp,kontakt) values('"&id&"','7','"&faxnr&"')"
end if

rs.movefirst

do while not rs("typk")="EpostPrivat"
rs.movenext
loop

if rs("typk")="EpostPrivat" then
   SQL3="update Vytelpersoninfo set Kontakt='"&epostpriv&"' where PersonID = '"&id&"' and typk='EpostPrivat'"
else
  SQL3="insert into tbltelpersonkontakt(personid,kontakttyp,kontakt) values('"&id&"','5','"&epostpriv&"')"
end if

rs.movefirst

do while not rs("typk")="TfnHem"
rs.movenext
loop

if rs("typk")="TfnHem" then
   SQL4="update Vytelpersoninfo set Kontakt='"&tfnhem&"' where PersonID = '"&id&"' and typk='TfnHem'"
else
  SQL4="insert into tbltelpersonkontakt(personid,kontakttyp,kontakt) values('"&id&"','6','"&tfnhem&"')"
end if
%>

<%
conn.execute(SQL)
conn.execute(SQL1)
conn.execute(SQL2)
conn.execute(SQL3)
conn.execute(SQL4)
%>

<%
response.redirect "info_person.asp?id="&id&""
%>
</body>
</html>
```

Får felmedelandet......
Error Type:
(0x80020009)
Exception occurred. 
/adress/nytele/update.asp, line 61

Det feta är rad 61.....

Permalänk: https://www.webforum.nu/p/12127

## #2 — LarsG, 2001-10-16T08:05Z

Varför du får fel vet jag inte, men det är några problem med din kod.

```
Set rs = Conn.execute (Strsql)
```

innebär att recordsetet blir forwardonly, dvs du kan inte använda movefirst. I så fall måste du använda open med en dynamisk eller keyset cursor.

```
Do while not rs("typk")="TfnMobil"
rs.movenext
loop

if rs("typk")="TfnMobil" then
```

Här kontrollerar du aldrig om du EOF blir sant.

```
Do while not rs.eof
if ("typk")="TfnMobil" then exit do
rs.movenext
loop

if rs.eof then
sql = "insert"
else
sql = "update"
end if
```

I och för sig så borde det gå att skriva om koden så att du bara behöver traversera recordsetet en gång

```
sql1 = ""
sql2 = ""
'osv
sql5 = ""
while not rs.eof
if rs("typk") = "tfnMobil" then
sql1 = "update ..."
elseif rs("typk") = "fax" then
sql2 = "update ..."
'osv
end if
rs.movenext
wend
if sql1 = "" then
sql1 = "insert ..."
end if
if sql2 = "" then
sql2 = "insert ..."
end if
'osv
```

Permalänk: https://www.webforum.nu/p/292200

## #3 — Tobbster, 2001-10-16T08:44Z

Nu har jag ändrat lite efter att Lars G en engång givit meg en Lektion i ASP-konsten,Men jag får det inte att funka... ändå

```
<!-- #include file="./gaaah.inc" -->
<html>
<head>
        <title>Uppdatering av uppgifter</title>

</head>
<body bgcolor="white">
<%
Response.Expires = -1000
Response.Addheader "Pragma", "no-cache"
%>

<%
Dim mobil
mobil=request.form("mob")

Dim Info
info=request.form("info")

Dim id
id=request.querystring("id")

Dim faxnr
faxnr=request.form("fax")

Dim epostpriv
epostpriv=request.form("Epostpriv")

Dim tfnhem
tfnhem=request.form("tfnhem")

 Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open connString
        Strsql="select * from Vytelpersoninfo where PersonID = '"&id&"'"
        [b] rs.Open Strsql,Conn,1,2[/b]

SQL1="update Vytelpersoninfo set info='"&info&"' where PersonID = '"&id&"'"

rs.movefirst

Do while not rs.eof
 if  rs("typk")="TfnMobil" then
  exit do
 end if
rs.movenext
loop

if rs.eof then
   SQL="insert into tbltelpersonkontakt(personid,kontakttyp,kontakt) values('"&id&"','2','"&mobil&"')"
 else
   SQL= "update Vytelpersoninfo set Kontakt='"&mobil&"' where PersonID = '"&id&"' and typk='TfnMobil'"
end if

rs.movefirst

Do while not rs.eof
 if  rs("typk")="Fax" then
   exit do
 end if
 rs.movenext
loop

if rs.eof then
   SQL2="insert into tbltelpersonkontakt(personid,kontakttyp,kontakt) values('"&id&"','7','"&faxnr&"')"
else
   SQL2= "update Vytelpersoninfo set Kontakt='"&faxnr&"' where PersonID = '"&id&"' and typk='Fax'"
end if

rs.movefirst

Do while not rs.eof
 if  rs("typk")="EpostPrivat" then
    exit do
 end if
 rs.movenext
loop

if rs.eof then
   SQL3="insert into tbltelpersonkontakt(personid,kontakttyp,kontakt) values('"&id&"','5','"&epostpriv&"')"
else
    SQL3="update Vytelpersoninfo set Kontakt='"&epostpriv&"' where PersonID = '"&id&"' and typk='EpostPrivat'"
end if

rs.movefirst

Do while not rs.eof
 if  rs("typk")="TfnHem" then
     exit do
 end if
 rs.movenext
loop

if rs.eof then
  SQL4="insert into tbltelpersonkontakt(personid,kontakttyp,kontakt) values('"&id&"','6','"&tfnhem&"')"
else
  SQL4="update Vytelpersoninfo set Kontakt='"&tfnhem&"' where PersonID = '"&id&"' and typk='TfnHem'"
end if
%>

<%
conn.execute(SQL)
conn.execute(SQL1)
conn.execute(SQL2)
conn.execute(SQL3)
conn.execute(SQL4)
%>

<%
response.redirect "info_person.asp?id="&id&""
%>
</body>
</html>
```

Felmedelandet lyder...
Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: ''
/adress/nytele/update.asp, line 35

Det har väl med cursor och lock type att göra förmodar jag.....

Permalänk: https://www.webforum.nu/p/292201

## #4 — @nders, 2001-10-16T08:46Z

Du har ju inte skapat ditt Recordset-objekt Rs.

```
Set Rs = server.createobject("adodb.recordset")
```

Mvh,

Permalänk: https://www.webforum.nu/p/292202

## #5 — Tobbster, 2001-10-16T08:48Z

Hmmmm.....   :r

Permalänk: https://www.webforum.nu/p/292203

## #6 — Harback, 2001-10-16T09:06Z

Varför skriver du:

```
<!-- #include file="./gaaah.inc" -->
```

och inte

```
<!-- #include file="../gaaah.inc" -->
```

?

Permalänk: https://www.webforum.nu/p/292204

## #7 — Tobbster, 2001-10-16T09:43Z

Läs här  <http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_14.asp> 

Så ger Vide en utmärkt förklaring

Permalänk: https://www.webforum.nu/p/292205

## #8 — Vide, 2001-10-16T11:18Z

Sätter du en punkt så säger du att filen finns i den mappen filen som anropar finn i. Samma mapp alltså.

Permalänk: https://www.webforum.nu/p/292206

## #9 — Pace, 2001-10-16T11:55Z

Men varför inte bara ha \<!-- #include file="gaaah.inc" --\> i så fall? :q

Permalänk: https://www.webforum.nu/p/292207

## #10 — Eclipse, 2001-10-16T16:27Z

**Lars G**

> Set rs = Conn.execute (Strsql)
>
> innebär att recordsetet blir forwardonly, dvs du kan inte använda movefirst. I så fall måste du använda open med en dynamisk eller keyset cursor.

Nej! :-) Detta fungerar.

```
SQL = "SELECT * FROM [job]"
set mySQL = Conn.Execute(SQL)

DO UNTIL mySQL.EOF
response.write mySQL("x_ID") & " "
mySQL.MoveNext
LOOP

mySQL.MoveFirst

DO UNTIL mySQL.EOF
response.write mySQL("x_ID") & " "
mySQL.MoveNext
LOOP
```

Permalänk: https://www.webforum.nu/p/292208

## #11 — LarsG, 2001-10-16T17:11Z

Ojdå. Fort men fel.

Permalänk: https://www.webforum.nu/p/292209

---

Tråden på webben: https://www.webforum.nu/amne/asp/12127-mysskofel
