Avatar billede michaelfp Nybegynder
19. oktober 2004 - 23:42 Der er 3 kommentarer og
1 løsning

fejl, hvis bestemt felt i recordset opdateres flere gange

Jeg får følgende fejl:
error '80020009'
Exception occurred.
/crm/kandidatdirect.asp, line 58

Fejlen opstår kun, hvis feltet "brugernavn" ændres og der i formen trykkes GEM ÆNDRINGER mere end én gang. Hvis andre felter rettes, kan man trykke så mange gange man vil.
Er der nogen gode råd?

Her er hele koden:
<% Option Explicit

If Session("UserID")="" Then
  Response.Redirect "login.asp"
End If

%>
<html>
<!-- #include file="databasefunctions.inc" -->
<!-- #include file="globalvars.inc" -->
<!-- #include file="logincontrol.inc" -->


<HEAD>


</HEAD>
<style>
a {
font-size: 11px;
color: #336699;
font-family: geneva, verdana, helvetica, arial;
text-decoration: none
}
a:hover {
color: #000000;
text-decoration: none
}
</style>


<body>


<form name="direct" action="kandidatdirect.asp?cmd=update" method="post">

<%
Dim rs1,rs2,rs3,StrSQL,Rsfound,TabelSQL, Fid, beskrivelse, m1, m2, m3, transporttid, Wcv,hmcv
Dim CboSQL
Dim Navn,adr1,adr2,pby,telefon,mobil,email
Dim brugernavn,password

  Function Visfejl(message)
    %>
    <SCRIPT>
    alert('<%=message%>');
    </SCRIPT>
    <%
  end Function
 
  Opendatabase
  Set rs1 = Server.CreateObject("ADODB.Recordset")
  Set rs2 = Server.CreateObject("ADODB.Recordset")
  Set rs3 = Server.CreateObject("ADODB.Recordset")

  TabelSQL = "Select * from sbrugerdata WHERE bruger= '" & Session("username") & "'"
  rs1.Open TabelSQL, conn, 3, 3
-> linie 58  TabelSQL = "select * from skandidater WHERE kandidatid=" & rs1("kandidatid")
  rs2.Open TabelSQL, conn, 3, 3 
  TabelSQL = "Select * from skandidatinterview WHERE kandidatid=" & rs1("kandidatid")
  rs3.Open TabelSQL, conn, 3, 3


  Sub InitialiserVariabler
   
    Session("globalkandidatid") = Rs1("kandidatid")
    Fid = Rs3("interviewId")
    Beskrivelse = Rs3("resume")
    M1 = Rs3("Jobmål1")
    M2 = Rs3("Jobmål2")
    M3 = Rs3("Jobmål3")
    Transporttid = rs3("transporttid")

    brugernavn = Rs1("bruger")
    password = Rs1("password")

    navn = rs2("navn")
    adr1 = rs2("adresse")
    adr2 = rs2("adresse2")
    pby = Rs2("Pby")
    Telefon = rs2("Telefon")
    Mobil = Rs2("Mobil")
    email = Rs2("email")
    If not Isnull(rs3("pathandnamehmcv")) Then
      Hmcv = rs3("Pathandnamehmcv")   
      Hmcv = Replace(HmCV,"d:\home\fiilpedersencom\www\crm\cvupload\","http://www.fiilpedersen.com/crm/cvupload/")
    else
      hmcv = ""
    End if

    If not Isnull(rs3("pathandnamecv")) Then
      Wcv = rs3("Pathandnamecv")   
      Wcv = Replace(WCV,"d:\home\fiilpedersencom\www\crm\cvupload\","http://www.fiilpedersen.com/crm/cvupload/")
    else
      Wcv = ""
    End if
  End Sub


  If (Request.form("save") = " Gem ændringer ") Then

    If Not brugerfindes(Request.Form("Brugernavn"),Session("globalkandidatid")) Then
      strSQL = "Update Skandidatinterview set "
      StrSQL = StrSQL & "resume= '" & Request.Form("beskrivelse") & "', "
      StrSQL = StrSQL & "jobmål1= '" & Request.Form("m1") & "', "
      StrSQL = StrSQL & "jobmål2= '" & Request.Form("m2") & "', "
      StrSQL = StrSQL & "jobmål3= '" & Request.Form("m3") & "', "
      strSQL = strSQL & "transporttid= '" & Request.Form("transporttid") & "' WHERE interviewId = " & Rs3("Interviewid")
      Conn.Execute(strSQL)

      strSQL = "Update Skandidater set "
      strSQL = strSQL & "Navn= '" & Request.Form("Navn") & "', "
      StrSQL = StrSQL & "Adresse= '" & Request.Form("Adr1") & "', "
      StrSQL = StrSQL & "Adresse2= '" & Request.Form("adr2") & "', "
      StrSQL = StrSQL & "Pby= '" & Request.Form("pby") & "', "
      StrSQL = StrSQL & "Telefon= '" & Request.Form("Telefon") & "', "
      StrSQL = StrSQL & "Mobil= '" & REquest.Form("Mobil") & "', "
      StrSQL = StrSQL & "Email= '" & Request.Form("Email") & "' WHERE kandidatId = " & Session("globalkandidatid")
      Conn.Execute(strSQL)

      strSQL = "Update Sbrugerdata set "
      StrSQL = StrSQL & "Bruger= '" & Request.Form("Brugernavn") & "', "
      strSQL = strSQL & "[password]= '" & Request.Form("Password") & "' WHERE Id = " & Rs1("Id")
      Conn.Execute(strSQL)


      Initialiservariabler
    Else
      Visfejl "** Det indtastede brugernavn kan ikke anvendes! Vælg et andet **"

      Initialiservariabler
    End if

  else
    Initialiservariabler
  end if


If Not rs1.EOF and not rs2.eof and not rs3.eof and rs2("Status") < 18 Then


%>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<VALIGN=top><DIV align=right><font face="Verdana" size="1">BrugerId:  <b><%=Session("UserID")%>&nbsp;&nbsp;|Online: <%=CountOnLineUsers()%>&nbsp;&nbsp;&nbsp;&nbsp;| <a href="login.asp?action=logout"> Afslut-Log af</a></FONT></DIV>

<img src="nytlogo.gif">
<font face="Verdana" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Velkommen til Hartmanns Online kandidat emnebank....</font>
</tr>
</table>

<body bgcolor="#66ccff" text="#000000" link="#0000ff" vlink="#660066" alink="#ff0000"><FONT face=Verdana size=2>
<br>

<FONT face=Verdana size=1></FONT>

<table border="0">

<tr>
  <td><font face="Verdana" size="2"><b>Navn:</b></font></td>
  <td><INPUT maxlength=60 size=60 name=navn value="<%=navn%>">&nbsp;&nbsp;
  <font face="Verdana" size="2"><b>Brugernavn:</b></font>
  <INPUT maxlength=10 size=10 name=brugernavn value="<%=brugernavn%>">&nbsp;&nbsp;
  <font face="Verdana" size="2"><b>Password:</b></font>
  <INPUT maxlength=10 size=10 name=password value="<%=password%>"></Td>

</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Adresse:</b></font></td>
  <td><INPUT maxlength=60 size=60 name=adr1 value="<%=adr1%>">&nbsp;&nbsp;<INPUT maxlength=57 size=57 name=adr2 value="<%=adr2%>"></Td>

</tr>

<tr>
  <td><font face="Verdana" size="2"><b>By:</b></font></td>
  <td><INPUT maxlength=60 size=60 name=pby value="<%=pby%>">&nbsp;&nbsp;
  <font face="Verdana" size="2"><b>Telefon:</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <INPUT maxlength=10 size=10 name=telefon value="<%=telefon%>">&nbsp;&nbsp;
  <font face="Verdana" size="2"><b>Mobil:</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <INPUT maxlength=10 size=10 name=mobil value="<%=mobil%>"></Td>

</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Email:</b></font></td>
  <td><INPUT maxlength=60 size=60 name=email value="<%=email%>"></Td>
</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Jobmål 1:</b></font></td>
  <td><INPUT maxlength=75 size=75 name=m1 value="<%=m1%>"></Td>

</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Jobmål 2:</b></font></td>
  <td><INPUT maxlength=75 size=75 name=m2 value="<%=m2%>"></Td>
</tr>

<tr>
  <td><font face="Verdana" size="2"><b>Jobmål 3:</b></font></td>
  <td><INPUT maxlength=75 size=75 name=m3 value="<%=m3%>">&nbsp;&nbsp;
  <font face="Verdana" size="2"><b>Ok Transporttid i minutter:</b></font>
  <INPUT maxlength=5 size=5 name=transporttid value="<%=transporttid%>">&nbsp;</td>

</tr>


<tr>
  <td><font face="Verdana" size="2"><b>Resumé:</b></font></td>
  <td><textarea name=beskrivelse cols="90" rows="11" class="border"><%=beskrivelse%></textarea></td>
</tr>
<Br>
<Tr><Td></Td><Td><div align="center"><input type="submit" name="save" value=" Gem ændringer "></Td></tr>

</Form>

<Form method="post" enctype="multipart/form-data" action="uploaded.asp?cmd=kandidatdirect.asp">
<Tr><Td><font face="Verdana" size="2"> Hartmanns CV: </font></td><td><input type=file name="file1">&nbsp;&nbsp;<%If hmcv <> "" Then %>&nbsp;&nbsp;<a href="<%=hmcv%>" target="_blank"> Åben Hartmanns CV </a><%end if%></td></Tr>
<Tr><Td><font face="Verdana" size="2"> Word CV: </font></td><td><input type=file name="file2">&nbsp;&nbsp;<%If Wcv <> "" Then %>&nbsp;&nbsp;<a href="<%=Wcv%>" target="_blank"> Åben Word CV </a><%end if%></td></Tr>

<Tr><Td> </Td><Td><input type="submit" Name="upload" value="Upload Cv"></Td></Tr>


</Table>


<%
 
  Else
    Response.Write "** Dine data er ikke længere aktive!! **"
    response.redirect("login.asp?action=logout")
  End If

  rs1.Close
  rs2.Close
  rs3.Close
  Set rs1 = Nothing
  Set rs2 = Nothing
  Set rs3 = Nothing
  closedatabase


%>


</form>



</body>
</html>
Avatar billede erikjacobsen Ekspert
20. oktober 2004 - 00:04 #1
Hvis jeg ellers kan overskue det, så ændrer du jo ikke
  Session("username")
hvis du ændrer bruger i sbrugerdata. De 2 skal vel bare følges ad.
Avatar billede michaelfp Nybegynder
20. oktober 2004 - 00:16 #2
Tak erikjacobsen - først troede jeg - yes - det er løsningen - men nej. det ændrer ingenting. Jeg prøvede at indsætte        Session("username") = Request.Form("Brugernavn") efter den sidste Conn.Execute(strSQL)

Men hvis brugernavn ændres blot én gang og man igen trykker GEM, så kommer fejlen.
Avatar billede michaelfp Nybegynder
20. oktober 2004 - 00:33 #3
Jeg fik problemet løst på følgend måde:

TabelSQL = "Select * from sbrugerdata WHERE bruger= '" & Session("username") & "'"
er ændret til:
TabelSQL = "Select * from sbrugerdata WHERE id= " & Cint(Session("Brugerid"))

Herved undgår jeg problemet med, at brugernavnet ændres!

Erikjacobsen - du ansporede mig til løsningen - så skal vi dele points?
Avatar billede erikjacobsen Ekspert
20. oktober 2004 - 14:42 #4
Nej tak, jeg samler slet ikke på point. Du accepterer blot eget svar.
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