clackeMedlem sedan feb. 2003234 inlägg Jag har en tabell "allatider" med kolumnerna "tid_id" "tider" "tider2"
Jag vill lägga in 35 st efterföljande datum i "tider" och 34 st efterföljande datum plus "END" i "tider2" om variabeln "kalenderdat" har ett värde.
När variabeln "kalenderdat" får ett nytt värde så vill jag uppdatera kolumnerna med det nya värdena.
Jag får syntax fel i ("& rs15('tid_id')&";") i slutet på sql16="update ..
Mycket tacksam för hjälp.
if kalenderdat ="" then
idag = date()
else
idag = CDate(kalenderdat)
end if
if kalenderdat \<\>"" then
sql15="select \* FROM allatider;"
set rs15 = conn.Execute(sql15)
do until rs15.eof
'response.write rs15("tid_id")
rs15.movenext
loop
For kalraknare = 0 To 35
idag2 = idag+kalraknare
'response.write idag2&"\<br\>"
sql16 = "UPDATE allatider SET tider = '"& ('"&idag2&"') &"' WHERE tid_id = "& rs15('tid_id')&";"
conn.execute(sql16)
next
'\*\*\*\*nedan ska ju också vara en update
'For kalraknare = 1 To 34
'idag3 = idag+kalraknare
'response.write idag3&"\<br\>"
'sql14 = "insert into allatider(tider2) values ('"&idag3&"');"
'conn.execute(sql14),adLockOptimistic
'next
'strSQL = "INSERT INTO allatider(tider2) VALUES ('END');"
'conn.Execute strSQL, , 128
end if
VideMedlem sedan dec. 19998 577 inlägg sql16 = "UPDATE allatider SET tider = '"& ('"&idag2&"') &"' WHERE tid_id = "& rs15("tid_id")&";"
crisse6Medlem sedan dec. 20002 526 inlägg Vide, varfor har du ; i din sql-sats? Har borjat se det mer och mer, ar det bara en trend dar hemma i Sverige som inte vi i USA har kommit till an?
clackeMedlem sedan feb. 2003234 inlägg Tack Vide. men...
Jag vet inte...men jag får samma fel iallafall.
Syntax fel i sista rs:n
ag fattar inte vad som är fel.
Engine^Medlem sedan dec. 20003 887 inlägg
crisse6 skrev:
Vide, varfor har du ; i din sql-sats? Har borjat se det mer och mer, ar det bara en trend dar hemma i Sverige som inte vi i USA har kommit till an?
Det är en gammal SQL-standard, men jag tror faktiskt inte att det är något DBMS som vill har det längre.
VideMedlem sedan dec. 19998 577 inlägg
clacke skrev:
Tack Vide. men...
Jag vet inte...men jag får samma fel iallafall.
Syntax fel i sista rs:n
ag fattar inte vad som är fel.
Skriv ut SQL-satsen innan du exekverar den och se hur den ser ut så kanske du kommer närmare problemet.
crisse6 skrev:
Vide, varfor har du ; i din sql-sats? Har borjat se det mer och mer, ar det bara en trend dar hemma i Sverige som inte vi i USA har kommit till an?
Det är för att jag kopierade clackes SQL-sats rakt av och ändrade.
Varför man vill ha med ; i slutet av sin SQL-sats är om man skulle vilja ha flera SQL-satser i samma exekvering, t.ex en insert och delete i samma så kan du separera dom med ;. :)
Engine^Medlem sedan dec. 20003 887 inlägg
Vide skrev:
Varför man vill ha med ; i slutet av sin SQL-sats är om man skulle vilja ha flera SQL-satser i samma exekvering, t.ex en insert och delete i samma så kan du separera dom med ;
Det är väl däremot DBMS-beroende om jag inte tar helt fel...
clackeMedlem sedan feb. 2003234 inlägg ok är det bara så här eller? Tyvärr är inte så haj på det här.
response.write sql16 = "UPDATE allatider SET tider = '"& ('"&idag2&"') &"' WHERE tid_id = "& rs15("tid_id")&";"
icaaqMedlem sedan okt. 20005 273 inlägg innan du kör din execute så skriver du
[red]
Response.Write sql16
Response.End
[/red]
mvh icaaq
Engine^Medlem sedan dec. 20003 887 inlägg
clacke skrev:
ok är det bara så här eller? Tyvärr är inte så haj på det här.
response.write sql16 = "UPDATE allatider SET tider = '"& ('"&idag2&"') &"' WHERE tid_id = "& rs15("tid_id")&";"
Det där blir nog inge vidare...
sql16 = "UPDATE allatider SET tider = '"& ('"&idag2&"') & _
"' WHERE tid_id = "& rs15("tid_id")&";"
Response.Write sql16
Response.End
conn.Execute sql16, , 128
clackeMedlem sedan feb. 2003234 inlägg :-) ok, men jag får felmeddelande igen.
[Error Type:
Microsoft VBScript compilation (0x800A03EA)
Syntax error
/claes/asp/camping/tidsbes1.asp, line 73, column 43
sql16 = "UPDATE allatider SET tider = '"& ('"&idag2&"') & "' WHERE tid_id = "& rs15("tid_id")&";"
]
solbulleMedlem sedan mars 20015 287 inlägg Vad är detta: ('"&idag2&"') ?
Skriver man inte så här?
sql16 = "UPDATE allatider SET tider = '"& idag2 &"' WHERE tid_id = "& rs15("tid_id")
clackeMedlem sedan feb. 2003234 inlägg Provar igen!
Jag får inte till det, suck. Jo solbulle, jag såg det felet...nu, hur blind kan man bli?? Ja så är det ibland.
Vad jag vill göra är:
Utifrån ett variabelvärde...ett datum..så vill jag uppdatera 35st celler i samma kolumn "tider" med variabeldatumet och 34st dagar framåt. När variabeln får ett nytt värde "datum" så vill jag uppdatera kolumnen med detta datum plus 34st efterföljande datum.
Vore mycket tacksam för hjälp.
kalenderdat = request.form ("kalenderdat")
if kalenderdat ="" then
idag = date()
else
idag = CDate(kalenderdat)
'response.write idag+1
end if
if kalenderdat <>"" then
sql15="select * FROM allatider;"
set rs15 = conn.Execute(sql15)
do until rs15.eof
'response.write rs15("tid_id")
rs15.movenext
loop
For kalraknare = 0 To 35
idag2 = idag+kalraknare
'response.write idag2&"<br>"
sql16 = "UPDATE allatider SET tider = '"& idag2 &"' WHERE tid_id = "& rs15("tid_id")&";"
conn.execute(sql16)
next
end if
Tack på förhand
Engine^Medlem sedan dec. 20003 887 inlägg Lite osäker på om jag begrep vad du ville göra, men så här uppfattade jag det iaf:
if kalenderdat <>"" then
sql15="select * FROM allatider;"
set rs15 = conn.Execute(sql15)
do until rs15.eof
[blue]'response.write rs15("tid_id")[/blue]
For kalraknare = 0 To 34
idag = idag + kalraknare
[blue]'response.write idag2&"<br>"[/blue]
sql16 = "UPDATE allatider SET tider = '" & idag & "' WHERE tid_id = " & rs15("tid_id") & ";"
conn.execute(sql16, , 128)
next
rs15.movenext
loop
end if
Hmm... jag tittar på mitt klipp och klistra och begriper faktiskt inte varför du skulle vilja ha det på det sättet ;)
clackeMedlem sedan feb. 2003234 inlägg Tack Engine, men det funkade inte iallafall.
Den lägger in en massa andra siffror bara, inga datum.
Jo vad jag vill göra är att jag vill att man ska kunna välja ett datum med en kalender som jag har. Och utifrån det datumet som man väljer så ska man se en månads datum framåt.
För att sedan göra ett val på något av dessa datum.
Engine^Medlem sedan dec. 20003 887 inlägg k...
sql16 = "UPDATE allatider SET tider = '" & DateAdd("d", kalraknare, idag) & "' WHERE tid_id = " & rs15("tid_id") & ";"
Är ditt fält tider datetime format, så tycker jag att du ändå borde ha fått datum istället för siffror.
clackeMedlem sedan feb. 2003234 inlägg Tack Engine, men det funkar tyvärr inte ändå.
Den lägger in datum i tabellen men det blir inte rätt datum, tex
den lägger in 1902-03-04 och nästa 1950-12-12 osv
Sedan så måste "Tider" kolumnen vara i text format för att det ska funka längre ner i koden.
Engine^Medlem sedan dec. 20003 887 inlägg Kolumnen tider behöver inte vara en string. Du kan ha den som Date/Time. Om du senare i koden behöver, så kan du typecast:a CStr(datum)...
Jag undrar varför det inte fungerar annars, eftersom DateAdd("d", 1, Date()) gör precis det den ska... ökar dagens datum med ett. Felet ligger alltså i CDate(kalenderdat).
clackeMedlem sedan feb. 2003234 inlägg Jag vet inte, men jag funderar på att lägga in en massa
sql6 = "update allatider set tider = '" & idag & "' where tid_id ='1';"
sql6 = "update allatider set tider = '" & idag+1 & "' where tid_id ='2';"
sql6 = "update allatider set tider = '" & idag+2 & "' where tid_id ='3';"
...osv
Inte bra men vad gör man?
Engine^Medlem sedan dec. 20003 887 inlägg Det skulle inte jag göra. Ändra datumkolumnen till Date/Time istället. Då blir sql-uttrycket:
sql16 = "UPDATE allatider SET tider = '#" & DateAdd("d", kalraknare, idag) & "#' WHERE tid_id = " & rs15("tid_id") & ";"