Avatar billede mitbrugernavn Praktikant
17. november 2003 - 15:35 Der er 2 kommentarer og
1 løsning

opdatere flere felter i db hvor værdien er hentet fra et rs

opdatere flere felter i db hvor værdien er hentet fra et rs med et klik



har følgende på indsaet.asp

<%

strSQL="Select * from vagtplan ORDER BY dato"
set rs = conn.execute(strSQL)


%>

<form name="form1" method="post" action="indsaet_opdat.asp">
     
    <%
do until rs.eof
%>
<tr valign="middle">
        <td class="tekst5" width="7%"><%=rs("dato")%>
<input type="hidden" name="id" value="<%=rs("id")%>"></td>
        <td width="11%">
          <select name="vagttype" class="tekst5sort">
            <option>-vælg-
            <option value="aften" class="tekst5rod">aften</option>
            <option value="nat" class="tekst5rod">nat</option>
            <option value="dag" class="tekst5rod">dag</option>
          </select>
        </td>
       
            <%

rs.movenext
loop
%>
<tr valign="middle">
      <td class="tekst5" width="7%">&nbsp;</td>
      <td width="11%">&nbsp;</td>
      <td width="16%">&nbsp;</td>
      <td width="13%">&nbsp;</td>
      <td width="18%">&nbsp;</td>
      <td width="17%">
          <input type="submit" name="Submit" value="Submit">
        </td>
      <td width="18%">&nbsp;</td>
    </tr>
    </form>




og derefter følgende indsaet_opdate.asp

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="connect.asp"-->
<%
if Request.Form("submit").Count > 0 then
strID = Request.Form("id")
strvagttype = Request.Form("vagttype")

strSQL="Update vagtplan set vagttype = '"& strvagttype &"' where id = " & strID
conn.execute(strSQL)
end if
%>

og her gå den jo helt galt....

hvad gør jeg ??????

til orientering kan felterne i indsaet.asp variere
Avatar billede rebel_penguin Nybegynder
17. november 2003 - 20:20 #1
Prøv at udskift where id =" & strID, med
where id =" & CLng(strID).
Problemet er at din strID opfattes som en streng, og ikke som et tal, hvilket kræver ændret syntaks i SQL sætningen (where id='" & strID & "'" - hvis strID nu rent faktisk skulle være en streng).
Løsningen er altså at fortælle asp'en at værdien af formen skal være et tal - der er forskel på int(10) og på "10".
En anden løsning er at du ved tildeling af værdi til strID kan bruge samme funktion, altså strID = CLng(Request.Form("vaggtype")).
Håber det hjælper, og jeg ikke er helt ude i skoven:)

rebel_penguin
Avatar billede mitbrugernavn Praktikant
25. maj 2004 - 16:24 #2
afsluttet
Avatar billede mitbrugernavn Praktikant
25. maj 2004 - 16:25 #3
afsluttet
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