Trådstart 19 jan. 2002 19:51 #1 Tjena.
Ja har en sida me ca 450 filmer som jag listar upp.
Nu är det så att jag vill lägga alla i en kategori. Tex Action,extreem,drama osv. Då har jag gjort så att jag har lagt en dropdown meny breve varje film.
Alltså 450 dropdowns blir det.
Så det går snabbare att lägga in alla i en kategori.
Sen vill jag ju att den skall lägga in varje vald kategori till varje film.
Men hur gör jag så den förstår vilken film den ska lägga in på?
Kan ju inte köra en
ppdatera = "SELECT * FROM list WHERE ID = " & Request.Form("ad") & " "
Eftersom jag skall uppdatera alla sammtidigt?
Jag har testat med detta
index.asp
<select id="myselect@<%=ID%>" name="myselect@<%=ID%>">
<option value="Action">Action</option>
<option value="Extreem">xtrem</option>
<option value="Drama">Dram</option>
<option selected>Välj kategori</option>
</select>
Redigera.asp
<% DBPath = "DBQ=" & Server.MapPath("hekbeta1.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
for each item in request.form
If left(item,7) = "select@" Then
SQL = SQL & ("UPDATE tbl_list ")
SQL = SQL & ("Set kategori = " & Request(item) & " ")
SQL = SQL & ("Where ID = " & Right(item,Len(Item)-7) & "; " & vbCrLf)
End If
next
conn.execute(sql)
%>
Men får felet
Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'
Command text was not set for the command object.
On line 16
och line 16 är conn.execute(sql)
I icaaq Medlem sedan okt. 2000 5 273 inlägg Skriv ut SQL-satsen med response.Write
<% DBPath = "DBQ=" & Server.MapPath("hekbeta1.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
for each item in request.form
If left(item,7) = "select@" Then
SQL = SQL & ("UPDATE tbl_list ")
SQL = SQL & ("Set kategori = " & Request(item) & " ")
SQL = SQL & ("Where ID = " & Right(item,Len(Item)-7) & "; " & vbCrLf)
End If
next
Response.Write "sql: "& sql
conn.execute(sql)
%>
sql:
Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'
Command text was not set for the command object.
On line 16
L LarsG Medlem sedan dec. 2000 12 464 inlägg Du har döpt din dropdown till myselect@<id> men du jämför med select.
Sen så måste du också lägga connect.execute innaför din for each loop annars så kommer du bara att uppdatera en film.
Du kommer alltså att göra 450 olika update-anrop. Du kan ju bygga ett statement per kategori
I icaaq Medlem sedan okt. 2000 5 273 inlägg Sen har du lagt in varje Select i en egen <form>-tag då kommer ju bara den som du har submit-knappen kopplad till att gå till "submit-sidan"....
Jag säger som nån annan har sagt tidigare...
Gör om, Gör rätt
Tyvärr kan jag inte hjälpa dig men det finns nog flera vänliga själar som vet hur man kan göra
mvh icaaq
Ok.
Klurigt detta.
[Redigerat av Steveking den 19 jan 2002]
L LarsG Medlem sedan dec. 2000 12 464 inlägg <% DBPath = "DBQ=" & Server.MapPath("hekbeta1.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
for each item in request.form
If left(item,9) = "myselect@" Then
SQL = "UPDATE tbl_list "
SQL = SQL & "Set kategori = '" & Request(item) & "'"
SQL = SQL & " Where ID = " & Right(item,Len(Item)-9) &
conn.execute sql,,128
End If
next
%>
Det där med form vet jag inget om då jag inte sett den koden.
red: Lade till apostrofer om kategori då det låter som om det är ett textfält.
Syntax error
line 12
SQL = SQL & " Where ID = " & Right(item,Len(Item)-9) &
------------------------------------------------------^
L LarsG Medlem sedan dec. 2000 12 464 inlägg <% DBPath = "DBQ=" & Server.MapPath("hekbeta1.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
for each item in request.form
If left(item,9) = "myselect@" Then
SQL = "UPDATE tbl_list "
SQL = SQL & "Set kategori = '" & Request(item) & "'"
SQL = SQL & " Where ID = " & Right(item,Len(Item)-9)
conn.execute sql,,128
End If
next
%>
I icaaq Medlem sedan okt. 2000 5 273 inlägg Om du kollar koden som den där sidan producerar så kommer du att se att det inte kommer med något id ....
I icaaq Medlem sedan okt. 2000 5 273 inlägg