Avatar billede agg-zeus Nybegynder
05. december 2001 - 19:17 Der er 12 kommentarer og
1 løsning

Problem!

Jeg har 2 spørgsmål! Det ene er:
Kan man ikke gøre dette ?:
<form action=\"dellinks.asp\" method=\"post\">
<table>
<tr><td><table>
<!-- Links efter navn -->
<tr>
<td><p>Links sorteret efter navn:</p></td></tr>
<tr>
<td>
<select name=\"deletelinksnavn\" class=\"input\">
<%
    do until rs.eof
    response.write \"<option value=\"\"\" & rs.fields(\"navn\") & \"\"\">\" & rs.fields(\"navn\") & \"\"
        rs.movenext
    loop
   
%>
</select>

</tr><tr><td height=\"5\"></td></tr>
<tr>
<td><input type=\"submit\" value=\"Slet\" name=\"submit\"></td>
</tr>

</table></td>
<td width=\"20\"></td>
<td><table>
<!-- Links efter Url -->
<tr>
<td><p>Links sorteret efter Url:</p></td></tr>
<tr>
<td>
<select name=\"deletelinksurl\" class=\"input\">
<%
    do until rs.eof
    response.write \"<option value=\"\"\" & rs.fields(\"url\") & \"\"\">\" & rs.fields(\"url\") & \"\"
        rs.movenext
    loop
   
%>
</select>

</tr><tr><td height=\"5\"></td></tr>
<tr>
<td><input type=\"submit\" value=\"Slet\" name=\"submit\"></td>
</tr>



</table>
</td>

</table>
</form>

På siden viser den kun linksne efter navn! Hvad har jeg gjort galt?

Og så det andet spørgsmål:
Jeg skal opdatere en database og min sql-sætning ser således ud:
sql = \"update top10 set (nr1, nr2, nr3, nr4, nr5, nr6, nr7, nr8, nr9, nr10)\"
sql = sql & \"where nr1 = \"  & request.form(\"nr1\") & \" , nr2 = \"  & request.form(\"nr2\") & \" , nr3 = \" & request.form(\"nr3\") & \" , nr4 = \"  & request.form(\"nr4\") & \" , nr5 = \"  & request.form(\"nr5\") & \" , nr6 = \"  & request.form(\"nr6\") & \" , nr7 = \"  & request.form(\"nr7\") & \" , nr8 = \"  & request.form(\"nr8\") & \" , nr9 = \" & request.form(\"nr9\") & \" , nr10 = \" & request.form(\"nr10\") & \"\"

Jeg har prøvet både at sætte apostroffer og gåseøjne ind, men jeg kan ikke få lortet til at virke!

Håber at i kan hjælpe mig.
Avatar billede nute Nybegynder
05. december 2001 - 19:25 #1
du er nødt til å fyre av SQL\'en en gang før du lister dem ut igjen...

<%
SQL = \"SELECT * FROM tabell ORDER BY navn ASC\"
set rs = Conn.Execute( SQL )
    do until rs.eof
    response.write \"<option value=\"\"\" & rs.fields(\"navn\") & \"\"\">\" & rs.fields(\"navn\") & \"\"
        rs.movenext
    loop
%>

deretter for den neste dropdown:

<%
SQL = \"SELECT * FROM tabell ORDER BY url ASC\"
Set rs = Conn.Execute( SQL )
    do until rs.eof
    response.write \"<option value=\"\"\" & rs.fields(\"url\") & \"\"\">\" & rs.fields(\"url\") & \"\"
        rs.movenext
    loop
%>

du mangler en WHERE clause på din oppdaterings SQL + at den er feil syntaktisk. En normal update SQL har følgende format:

UPDATE tabell SET felt1=verdi, felt2=verdi WHERE ID = 1

/nute
Avatar billede agg-zeus Nybegynder
05. december 2001 - 19:33 #2
jeg kan ikke forstå det! Min connection til db\'en ser således ud:
<%

Dim cn, cnstr, sti

sti = server.mappath(\"dbnu.mdb\")
set cn = server.createobject(\"adodb.connection\")
cnstr = \"Provider=Microsoft.Jet.OLEDB.4.0;\"
cnstr = cnstr & \"Data Source=\" & sti & \";\"
cn.connectionstring = cnstr
cn.open

Dim rs, sql
set rs = server.createobject(\"adodb.recordset\")
sql = \"Select * from links Order by navn;\"
rs.open sql, cn
%>

Skal jeg ikke skrive:
<%
SQL = \"SELECT * FROM links ORDER BY navn\"
rs.open sql, cn
    do until rs.eof
    response.write \"<option value=\"\"\" & rs.fields(\"navn\") & \"\"\">\" & rs.fields(\"navn\") & \"\"
        rs.movenext
    loop
%>

og

<%
SQL = \"SELECT * FROM links ORDER BY url\"
rs.open sql, cn
    do until rs.eof
    response.write \"<option value=\"\"\" & rs.fields(\"url\") & \"\"\">\" & rs.fields(\"url\") & \"\"
        rs.movenext
    loop
%>

???
Avatar billede nute Nybegynder
05. december 2001 - 19:36 #3
disse to linjene kan du droppe:

sql = \"Select * from links Order by navn;\"
rs.open sql, cn

men ellers så skal det fungere sånn som du foreslår...

men hva er det du ikke kan forstå ?
Avatar billede agg-zeus Nybegynder
05. december 2001 - 19:38 #4
Så får jeg bare denne fejlmeddelelse:
Fejltype:
ADODB.Recordset (0x800A0E79)
Operation is not allowed when the object is open.
/mdisko/deletelinks.asp, line 86


Avatar billede nute Nybegynder
05. december 2001 - 19:41 #5
hov...legg til

rs.close

etter den første \'loop\'
Avatar billede agg-zeus Nybegynder
05. december 2001 - 19:45 #6
Tak... Nu virker det. Men jeg kan stadig ikke finde ud af den anden sql-sætning når jeg skal opdatere. Hvad er der galt? Den ser sådan ud:
sql = \"update top10 set \'nr1=\"& request.form(\"nr1\") &\", nr1=\"& request.form(\"nr1\") &\", nr2=\"& request.form(\"nr2\") &\", nr3=\"& request.form(\"nr3\") &\", nr4=\"& request.form(\"nr4\") &\", nr5=\"& request.form(\"nr6\") &\", nr7=\"& request.form(\"nr7\") &\", nr8=\"& request.form(\"nr8\") &\", nr9=\"& request.form(\"nr9\") &\", nr10=\"& request.form(\"nr10\") &\"\'\"
sql = sql & \"where nr1 = nr1, nr2 = nr2, nr3 = nr3, nr4 = nr4, nr5 = nr5, nr6 = nr6, nr7 = nr7, nr8 = nr8, nr9 = nr9, nr10 = nr10\"
Avatar billede nute Nybegynder
05. december 2001 - 19:50 #7
det er din WHERE ting som er gal...kikk en gang til på det ekempelet jeg postet...den skal se ut nogenlunde som dette:

sql = \"update top10 set \'nr1=\"& request.form(\"nr1\") &\", nr1=\"& request.form(\"nr1\") &\", nr2=\"& request.form(\"nr2\") &\", nr3=\"& request.form(\"nr3\") &\", nr4=\"& request.form(\"nr4\") &\", nr5=\"& request.form(\"nr6\") &\", nr7=\"& request.form(\"nr7\") &\", nr8=\"& request.form(\"nr8\") &\", nr9=\"& request.form(\"nr9\") &\", nr10=\"& request.form(\"nr10\") &\"\'\"
sql = sql & \"where ID = \" & request.form(\"ID\")

jeg regner med at din tabell har en ID for hvert record. dette skal du sende med over til denne \'oppdatering.asp\' (eller hva nå enn din fil heter)
Avatar billede agg-zeus Nybegynder
05. december 2001 - 19:57 #8
Min tabel har ikke en ID for hvert recordset! Jeg kan godt lave det. Det er jo nemmere. Men hvad skal where-sætningen hedde nu når jeg har en kolonne til hvert recordset?!
Avatar billede nute Nybegynder
05. december 2001 - 20:01 #9
en kolonne til hvert recordset ???

hva mener du med det ?
Avatar billede agg-zeus Nybegynder
05. december 2001 - 20:03 #10
min tabel i Access ser nogenlunde sådan her ud:

ID  Nr1  Nr2  Nr3  Nr4  Nr5  Nr6  Nr7  Nr8  Nr9  Nr10
Avatar billede nute Nybegynder
05. december 2001 - 20:05 #11
jammen der har du jo en ID kolonne. ligger det ikke en verdi i denne ?
Avatar billede agg-zeus Nybegynder
05. december 2001 - 20:08 #12
Jo de har alle en værdi! det ser cirka sådan her ud:

1  værdi1  værdi2  værdi3  værdi4  værdi5  værdi6  værdi7  værdi8  værdi9  værdi10
Avatar billede nute Nybegynder
05. december 2001 - 20:11 #13
jeg regner med du har et formular som du submitter med de verdiene du vil oppdatere ?! i dette formularet legger du så ID i et hidden field, deretter benytter du denne ID for å identifisere *hvilket* record du skal oppdatere...
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