Avatar billede flemminghave Nybegynder
06. marts 2003 - 09:57 Der er 31 kommentarer og
2 løsninger

Film side og online redigering!!

Jeg er ved at lave en biograf side hvor det skal være muligt for chef operatøren at redigere vagtplan online.
Jeg bruger 3 tabeller i databasen og der er ikke noget problem i at hente dataen. Jeg får dog et problem når jeg skal opdatere informationerne.
Rediger siden starter sådan her:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("_database12/brugere.mdb")
Conn.Open DSN
Dim samletAntal
strSQL = "SELECT * FROM uge ORDER BY id"
Set rs = Conn.Execute(strSQL)
strSQL = "SELECT * FROM film ORDER BY id"
Set rs2 = Conn.Execute(strSQL)
strSQL = "SELECT * FROM operatoer ORDER BY id"
Set rs3 = Conn.Execute(strSQL)
%>
Og opdater siden ser ud som følger:
<%
fejl = false
id = Request.Form("id")
uge1 = Request.Form("uge1")
uge2 = Request.Form("uge2")
uge3 = Request.Form("uge3")
uge4 = Request.Form("uge4")
uge5 = Request.Form("uge5")
dato1 = Request.Form("dato1")
dato2 = Request.Form("dato2")
dato3 = Request.Form("dato3")
dato4 = Request.Form("dato4")
dato5 = Request.Form("dato5")
6a = Request.Form("6a")
6b = Request.Form("6b")
6c = Request.Form("6c")
6d = Request.Form("6d")
6e = Request.Form("6e")
7a = Request.Form("7a")
7b = Request.Form("7b")
7c = Request.Form("7c")
7d = Request.Form("7d")
7e = Request.Form("7e")
8a = Request.Form("8a")
8b = Request.Form("8b")
8c = Request.Form("8c")
8d = Request.Form("8d")
8e = Request.Form("8e")


if fejl = false then
beskrivelse = Replace(beskrivelse, "'", "''")

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("_database12/brugere.mdb")
Conn.Open DSN

strSQL = ("UPDATE uge SET uge1='" & uge1 & "', uge2='" & uge2 & "', uge3='" & uge3 & "', uge4='" & uge4 & "', uge5='" & uge5 & "', dato1='" & dato1 & "', dato2='" & dato2 & "', dato3='" & dato3 & "', dato4='" & dato4 & "', dato5='" & dato5 & "' WHERE id=" & id)
strSQL = ("UPDATE film SET 6a='" & 6a & "', 6b='" & 6b & "', 6c='" & 6c & "', 6d='" & 6d & "', 6e='" & 6e & "', 7a='" & 7a & "', 7b='" & 7b & "', 7c='" & 7c & "', 7d='" & 7d & "', 7e='" & 7e & "', 8a='" & 8a & "', 8b='" & 8b & "', 8c='" & 8c & "', 8d='" & 8d & "', 8e='" & 8e & "' WHERE id2=" & id)

Conn.Execute(strSQL)



Conn.Close
Set Conn = Nothing
response.redirect "vagtplan.asp"
end if
%>
Jeg håber i kan fortælle mig hvad jeg laver galt da jeg stadig er i lære processen:-)
Avatar billede mortvader Nybegynder
06. marts 2003 - 10:01 #1
Du executer i hvert fald ikke din først sql streng.. Men om det er det der er dit problem, ved jeg ikke!?

strSQL = ("UPDATE uge SET uge1='" & uge1 & "', uge2='" & uge2 & "', uge3='" & uge3 & "', uge4='" & uge4 & "', uge5='" & uge5 & "', dato1='" & dato1 & "', dato2='" & dato2 & "', dato3='" & dato3 & "', dato4='" & dato4 & "', dato5='" & dato5 & "' WHERE id=" & id)
Conn.Execute(strSQL)

strSQL = ("UPDATE film SET 6a='" & 6a & "', 6b='" & 6b & "', 6c='" & 6c & "', 6d='" & 6d & "', 6e='" & 6e & "', 7a='" & 7a & "', 7b='" & 7b & "', 7c='" & 7c & "', 7d='" & 7d & "', 7e='" & 7e & "', 8a='" & 8a & "', 8b='" & 8b & "', 8c='" & 8c & "', 8d='" & 8d & "', 8e='" & 8e & "' WHERE id2=" & id)

Conn.Execute(strSQL)
Avatar billede flemminghave Nybegynder
06. marts 2003 - 10:08 #2
Det ser ikke ud til at det er fejlen..
Jeg får føljene når jeg trykker opdater:
Microsoft VBScript compilation error '800a0400'

Expected statement

/test/opdater_vagtplan.asp, line 14

6a = Request.Form("6a")
^
Avatar billede mortvader Nybegynder
06. marts 2003 - 10:14 #3
du må ikke starte et variabel navn med et nummer..
Avatar billede flemminghave Nybegynder
06. marts 2003 - 10:16 #4
det vil sige at jeg skal ændre punkterne til at være f.eks:
a1
a2
a3
.....

I stedet for:

6a
6b
...
Avatar billede flemminghave Nybegynder
06. marts 2003 - 10:33 #5
Ok får nu følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (comma) in query expression 'id=1, 1'.

/test/opdater_vagtplan.asp, line 41
Avatar billede mortvader Nybegynder
06. marts 2003 - 10:36 #6
det tyder på at der står "1, 1" i din id - passer det?
Avatar billede flemminghave Nybegynder
06. marts 2003 - 10:37 #7
ja
Avatar billede flemminghave Nybegynder
06. marts 2003 - 10:38 #8
Du mener under min id i databasen..?? Der står der 1 og i den første felt står der også 1..
Avatar billede mortvader Nybegynder
06. marts 2003 - 10:38 #9
så er det jo et streng felt.. ret dine where til:

"... WHERE id2='" & id &"'")
Avatar billede flemminghave Nybegynder
06. marts 2003 - 10:42 #10
Ok jeg har ændret lidt på det så der nu står:

strSQL = ("UPDATE uge SET uge1='" & uge1 & "', uge2='" & uge2 & "', uge3='" & uge3 & "', uge4='" & uge4 & "', uge5='" & uge5 & "', dato1='" & dato1 & "', dato2='" & dato2 & "', dato3='" & dato3 & "', dato4='" & dato4 & "', dato5='" & dato5 & "' WHERE id2='" & id &"'")

Conn.Execute(strSQL)

strSQL = ("UPDATE film SET a1='" & a1 & "', a2='" & a2 & "', a3='" & a3 & "', a4='" & a4 & "', a5='" & a5 & "', b1='" & b1 & "', b2='" & b2 & "', b3='" & b3 & "', b4='" & b4 & "', b5='" & b5 & "', c1='" & c1 & "', c2='" & c2 & "', c3='" & c3 & "', c4='" & c4 & "', c5='" & c5 & "' WHERE id2='" & id &"'")

Conn.Execute(strSQL)
Men nu får jeg følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/test/opdater_vagtplan.asp, line 41
Avatar billede mortvader Nybegynder
06. marts 2003 - 10:44 #11
hvad står der i linie 41?
Avatar billede flemminghave Nybegynder
06. marts 2003 - 10:44 #12
Conn.Execute(strSQL)
Avatar billede mortvader Nybegynder
06. marts 2003 - 10:46 #13
:)

Prøv lige at sende hele dit script igen..
Avatar billede flemminghave Nybegynder
06. marts 2003 - 10:48 #14
Okay Here it goes;)

Rediger siden:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("_database12/brugere.mdb")
Conn.Open DSN
Dim samletAntal
strSQL = "SELECT * FROM uge ORDER BY id"
Set rs = Conn.Execute(strSQL)
strSQL = "SELECT * FROM film ORDER BY id"
Set rs2 = Conn.Execute(strSQL)
strSQL = "SELECT * FROM operatoer ORDER BY id"
Set rs3 = Conn.Execute(strSQL)
%>
<form method="post" action="opdater_vagtplan.asp">
  <table width="100%" height="473">
<tr>
    <td style="border-bottom: 1px solid #8A8F95; border-right: 1px solid #8A8F95" colspan="11" background="billeder/tablel_bg_billed.gif" class="theading" height="22">&nbsp;<img src="billeder/arrow.gif" width="6" height="11">&nbsp;Rediger Operatørplan</td>
  </tr>
  <tr>
  <input type="hidden" name="id" size="30" value="<%=rs("id")%>">
  <input type="hidden" name="id" size="30" value="<%=rs2("id")%>">

Opdater siden:

<%
fejl = false
id = Request.Form("id")
uge1 = Request.Form("uge1")
uge2 = Request.Form("uge2")
uge3 = Request.Form("uge3")
uge4 = Request.Form("uge4")
uge5 = Request.Form("uge5")
dato1 = Request.Form("dato1")
dato2 = Request.Form("dato2")
dato3 = Request.Form("dato3")
dato4 = Request.Form("dato4")
dato5 = Request.Form("dato5")
a1 = Request.Form("a1")
a2 = Request.Form("a2")
a3 = Request.Form("a3")
a4 = Request.Form("a4")
a5 = Request.Form("a5")
b1 = Request.Form("b1")
b2 = Request.Form("b2")
b3 = Request.Form("b3")
b4 = Request.Form("b4")
b5 = Request.Form("b5")
c1 = Request.Form("c1")
c2 = Request.Form("c2")
c3 = Request.Form("c3")
c4 = Request.Form("c4")
c5 = Request.Form("c5")


if fejl = false then
beskrivelse = Replace(beskrivelse, "'", "''")

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("_database12/brugere.mdb")
Conn.Open DSN

strSQL = ("UPDATE uge SET uge1='" & uge1 & "', uge2='" & uge2 & "', uge3='" & uge3 & "', uge4='" & uge4 & "', uge5='" & uge5 & "', dato1='" & dato1 & "', dato2='" & dato2 & "', dato3='" & dato3 & "', dato4='" & dato4 & "', dato5='" & dato5 & "' WHERE id2='" & id &"'")

Conn.Execute(strSQL)

strSQL = ("UPDATE film SET a1='" & a1 & "', a2='" & a2 & "', a3='" & a3 & "', a4='" & a4 & "', a5='" & a5 & "', b1='" & b1 & "', b2='" & b2 & "', b3='" & b3 & "', b4='" & b4 & "', b5='" & b5 & "', c1='" & c1 & "', c2='" & c2 & "', c3='" & c3 & "', c4='" & c4 & "', c5='" & c5 & "' WHERE id2='" & id &"'")

Conn.Execute(strSQL)



Conn.Close
Set Conn = Nothing
response.redirect "vagtplan.asp"
end if
%>
Avatar billede flemminghave Nybegynder
06. marts 2003 - 10:51 #15
Smutter lige ind og får en smøg.. Vender tilbage om 5min...
Hulens trang..:-)
Avatar billede mortvader Nybegynder
06. marts 2003 - 10:53 #16
Du åbner connection 2 gange. Jeg har kommenteret den ekstra ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("_database12/brugere.mdb")
Conn.Open DSN
Dim samletAntal
strSQL = "SELECT * FROM uge ORDER BY id"
Set rs = Conn.Execute(strSQL)
strSQL = "SELECT * FROM film ORDER BY id"
Set rs2 = Conn.Execute(strSQL)
strSQL = "SELECT * FROM operatoer ORDER BY id"
Set rs3 = Conn.Execute(strSQL)
%>
<form method="post" action="opdater_vagtplan.asp">
  <table width="100%" height="473">
<tr>
    <td style="border-bottom: 1px solid #8A8F95; border-right: 1px solid #8A8F95" colspan="11" background="billeder/tablel_bg_billed.gif" class="theading" height="22">&nbsp;<img src="billeder/arrow.gif" width="6" height="11">&nbsp;Rediger Operatørplan</td>
  </tr>
  <tr>
  <input type="hidden" name="id" size="30" value="<%=rs("id")%>">
  <input type="hidden" name="id" size="30" value="<%=rs2("id")%>">

Opdater siden:

<%
fejl = false
id = Request.Form("id")
uge1 = Request.Form("uge1")
uge2 = Request.Form("uge2")
uge3 = Request.Form("uge3")
uge4 = Request.Form("uge4")
uge5 = Request.Form("uge5")
dato1 = Request.Form("dato1")
dato2 = Request.Form("dato2")
dato3 = Request.Form("dato3")
dato4 = Request.Form("dato4")
dato5 = Request.Form("dato5")
a1 = Request.Form("a1")
a2 = Request.Form("a2")
a3 = Request.Form("a3")
a4 = Request.Form("a4")
a5 = Request.Form("a5")
b1 = Request.Form("b1")
b2 = Request.Form("b2")
b3 = Request.Form("b3")
b4 = Request.Form("b4")
b5 = Request.Form("b5")
c1 = Request.Form("c1")
c2 = Request.Form("c2")
c3 = Request.Form("c3")
c4 = Request.Form("c4")
c5 = Request.Form("c5")

if fejl = false then
beskrivelse = Replace(beskrivelse, "'", "''")

'Set Conn = Server.CreateObject("ADODB.Connection")
'DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
'DSN = DSN & "DBQ=" & Server.MapPath ("_database12/brugere.mdb")
'Conn.Open DSN

strSQL = ("UPDATE uge SET uge1='" & uge1 & "', uge2='" & uge2 & "', uge3='" & uge3 & "', uge4='" & uge4 & "', uge5='" & uge5 & "', dato1='" & dato1 & "', dato2='" & dato2 & "', dato3='" & dato3 & "', dato4='" & dato4 & "', dato5='" & dato5 & "' WHERE id2='" & id &"'")

Conn.Execute(strSQL)

strSQL = ("UPDATE film SET a1='" & a1 & "', a2='" & a2 & "', a3='" & a3 & "', a4='" & a4 & "', a5='" & a5 & "', b1='" & b1 & "', b2='" & b2 & "', b3='" & b3 & "', b4='" & b4 & "', b5='" & b5 & "', c1='" & c1 & "', c2='" & c2 & "', c3='" & c3 & "', c4='" & c4 & "', c5='" & c5 & "' WHERE id2='" & id &"'")

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
response.redirect "vagtplan.asp"
end if
%>
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:00 #17
Det er 2 sider, så jeg skal bruge forbindelsen på opdater siden..
Avatar billede mortvader Nybegynder
06. marts 2003 - 11:01 #18
hmm.. kan ikke umidbart sige dig hvad den fejl er..
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:03 #19
Heller ikke her.. Jeg lavede 3 tabeller i databasen for overskueligheds skyld, jeg skal måske gå tilbage til én tabel for at gøre det nemmere..
Avatar billede -mundi- Nybegynder
06. marts 2003 - 11:07 #20
lav en
response.write strSQL
response.end

lige inden linie 41 der laver fejl og så post sql'en her
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:11 #21
UPDATE uge SET uge1='234', uge2='2', uge3='3', uge4='4', uge5='5', dato1='1', dato2='1', dato3='1', dato4='1', dato5='1' WHERE id2='1, 1'
Avatar billede -mundi- Nybegynder
06. marts 2003 - 11:13 #22
den er gal her WHERE id2='1, 1'

det ser ud som om du har 2 idfelter i din form, hvis man har 2 eller flere form felter der hedder det samme kommer værdierne til at stå således : værdi1, værdi2, værdi3
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:17 #23
Jeg har skrevet koden med tre linier hvor de alle henter fra id feltet i tabellerne i databasen:
strSQL = "SELECT * FROM uge ORDER BY id"
Set rs = Conn.Execute(strSQL)
strSQL = "SELECT * FROM film ORDER BY id"
Set rs2 = Conn.Execute(strSQL)
strSQL = "SELECT * FROM operatoer ORDER BY id"
Set rs3 = Conn.Execute(strSQL)
Og så ville jeg jo gerne hvis man kunne gemme informationerne i hver deres tabel. Men hvis jeg ikke kan det, hvad gør jeg så???
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:20 #24
Siden er her http://www.flemminghave.dk/test/ og i kan logge ind med informationerne på login siden, så dukker der en menu op hvor i kan vælge de forskellige ting..
Avatar billede -mundi- Nybegynder
06. marts 2003 - 11:21 #25
det kan du også sagtens, men det er her det går galt
id = Request.Form("id")
id bliver sat til '1, 1' fordi der er 2 felter i din form der hedder id,
du bliver nødt til at kalde dem noget forskelligt, f.eks ugeid og filmid og så hente dem med ugeid=request.form("ugeid"), ellers kan asp ikke hitte ud af hvilken af de 2 id'er den skal bruge
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:22 #26
Ok.. Jeg prøver lige..
Avatar billede -mundi- Nybegynder
06. marts 2003 - 11:23 #27
du har 2 hidden fields der hedder id slet det ene af dem
Avatar billede -mundi- Nybegynder
06. marts 2003 - 11:24 #28
på rediger_vagtplan siden
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:32 #29
Jeg skal vel definere id'en til opdater siden..??

Må jeg lige se på senere..:)

Rediger siden ser ud som følger:

strSQL = "SELECT * FROM uge ORDER BY ugeid"
Set rs = Conn.Execute(strSQL)
strSQL = "SELECT * FROM film ORDER BY filmid"
Set rs2 = Conn.Execute(strSQL)
strSQL = "SELECT * FROM operatoer ORDER BY operatoerid"
Set rs3 = Conn.Execute(strSQL)
%>
<form method="post" action="opdater_vagtplan.asp">
  <table width="100%" height="473">
<tr>
    <td style="border-bottom: 1px solid #8A8F95; border-right: 1px solid #8A8F95" colspan="11" background="billeder/tablel_bg_billed.gif" class="theading" height="22">&nbsp;<img src="billeder/arrow.gif" width="6" height="11">&nbsp;Rediger Operatørplan</td>
  </tr>
  <tr>
  <input type="hidden" name="ugeid" size="30" value="<%=rs("ugeid")%>">
  <input type="hidden" name="filmid" size="30" value="<%=rs2("filmid")%>">

Og opdater siden:

<%
fejl = false
ugeid = Request.Form("ugeid")
uge1 = Request.Form("uge1")
uge2 = Request.Form("uge2")
uge3 = Request.Form("uge3")
uge4 = Request.Form("uge4")
uge5 = Request.Form("uge5")
dato1 = Request.Form("dato1")
dato2 = Request.Form("dato2")
dato3 = Request.Form("dato3")
dato4 = Request.Form("dato4")
dato5 = Request.Form("dato5")
filmid = Request.Form("filmid")
a1 = Request.Form("a1")
a2 = Request.Form("a2")
a3 = Request.Form("a3")
a4 = Request.Form("a4")
a5 = Request.Form("a5")
b1 = Request.Form("b1")
b2 = Request.Form("b2")
b3 = Request.Form("b3")
b4 = Request.Form("b4")
b5 = Request.Form("b5")
c1 = Request.Form("c1")
c2 = Request.Form("c2")
c3 = Request.Form("c3")
c4 = Request.Form("c4")
c5 = Request.Form("c5")

if fejl = false then
beskrivelse = Replace(beskrivelse, "'", "''")

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("_database12/brugere.mdb")
Conn.Open DSN

strSQL = ("UPDATE uge SET uge1='" & uge1 & "', uge2='" & uge2 & "', uge3='" & uge3 & "', uge4='" & uge4 & "', uge5='" & uge5 & "', dato1='" & dato1 & "', dato2='" & dato2 & "', dato3='" & dato3 & "', dato4='" & dato4 & "', dato5='" & dato5 & "' WHERE ugeid2='" & ugeid &"'")

Conn.Execute(strSQL)

strSQL = ("UPDATE film SET a1='" & a1 & "', a2='" & a2 & "', a3='" & a3 & "', a4='" & a4 & "', a5='" & a5 & "', b1='" & b1 & "', b2='" & b2 & "', b3='" & b3 & "', b4='" & b4 & "', b5='" & b5 & "', c1='" & c1 & "', c2='" & c2 & "', c3='" & c3 & "', c4='" & c4 & "', c5='" & c5 & "' WHERE filmid2='" & filmid &"'")

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
response.redirect "vagtplan.asp"
end if
%>
Men jeg får fejl..
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:39 #30
Jeg satte lige response foran fejlen og fik det her:
UPDATE uge SET uge1='dfh', uge2='2', uge3='3', uge4='4', uge5='5', dato1='1', dato2='1', dato3='1', dato4='1', dato5='1' WHERE id=''
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:39 #31
den viser ikke id'en..
Avatar billede flemminghave Nybegynder
06. marts 2003 - 11:52 #32
Skidt være med det...:)
Jeg smed det hele i én tabel så nu virker det. Jeg tror jeg øver mig lidt mere inden jeg prøver med 3 tabeller til én form..
-mundi- smid lige et svar så får du også lige nogle point..
Tusind tak for hjælpen -mundi- og mortvader
Avatar billede -mundi- Nybegynder
06. marts 2003 - 11:52 #33
et 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