erkaMedlem sedan dec. 19996 522 inlägg Hejsan!
jag tänkte att jag skulle ha 10 st säkra kort i en databas som bara ska ändras en gång i månaden. Då tänkte jag att de funkar med update.
jag har 2 fält i tabellen, de är namn (text) samt id(tal)
jag plockar ut dem med en text box med start värdet namn samt en liten textbox revid med numret (1-10) sedan en loop på det för att få fram alla tio.
Jag ska ju bara ändra namnet inte nummret men kom inte på någe annat sätt att få det med.
I alla fall är update koden
SQLStmt = "UPDATE LISTAN SET namn='"&request.form("namn")&"' WHERE Id="& request.form("id")
nu får jag felmedelandet
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (komma) i frågeuttrycket 'Id=1, 2, 3, 4, 5, 6, 7, 8, 9, 10'.
/match_klar/admin/andravideo_app.asp, rad 13
någon som vet..
@ndersMedlem sedan juni 200032 969 inlägg om du menar att du vill uppdatera namn på alla id'n mellan 1 och 10 till exempel, så får man använda operatorn in.
SQLStmt = "UPDATE LISTAN SET namn='"&request.form("namn")&"' WHERE Id in ("& request.form("id") & ")"
hoppas jag inte missförstod dig...
mvh
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
where do you want to go to die?</A>
erkaMedlem sedan dec. 19996 522 inlägg Nja du förstod min nog lite rätt i alla fall. Tack för hjälpen hitills.
Men nu skriver han in de i alla namn fält i databasen. Om jag skriver på 1:an tex Ugly Cayote och på 2:an Ninja Mission Då fyller han i dem i alla fält.
Nu är koden
<%Dim Connect, conntemp, DSNtemp
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("../db/video.mdb")
Connect.Open DSNtemp
SQLStmt = "UPDATE LISTAN SET namn='"&request.form("namn")&"' WHERE Id in ("& request.form("id") & ")"
SET SQLStmt = Connect.Execute(SQLStmt)
Connect.close
set Connect=nothing
%>
erkaMedlem sedan dec. 19996 522 inlägg Kan man göra så ? eller vad är det som jag gör så konstigt eftersom det borde fungera..
jag vill helt enkelt skriva över 10 poster fast id:t ska vara samma..
Olika innehåll i de tio olika posterna..
erkaMedlem sedan dec. 19996 522 inlägg Nu har jag denna kod
SQL = "UPDATE LISTAN SET namn = '" & namnet & "' where id in ("& idet & ") "
idet är request.form(id2) och namnet är request.form(namn2)
Men den skriver över alla kollumer och skriver all information i varje enskild kolumm..
Grrrrr..
jispirMedlem sedan maj 20011 343 inlägg du har glömt = tecknet efter where id
nu i den senaste koden!
Är det slarv fel eller?
------------------
<A HREF="http://www.webtomten.com" TARGET=_blank>Den evige babbelfisk jägarn </A>
erkaMedlem sedan dec. 19996 522 inlägg SQL = "UPDATE LISTAN SET namn = '" & namnet & "' where id = in ("& idet & ")"
ger felmedelandet
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'id = in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)'.
/match_klar/admin/andravideo_app.asp, rad 14
@ndersMedlem sedan juni 200032 969 inlägg du får inte ha både = och in.
skall du ha kommaseparerade värden skall du köra endast in.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
where do you want to go to die?</A>
erkaMedlem sedan dec. 19996 522 inlägg SQL = "UPDATE LISTAN SET namn = '" & namnet & "' where id = ("& idet & ")"
fungerar ju inte heller..
hmmm...ingen som kan hjälpa mig med lite kod kanske...
har prövat alla möjliga men inget fungerar
erkaMedlem sedan dec. 19996 522 inlägg Anders , exakt vad gör IN ?
måste jag använda det när jag ska uppdatera 10 olika rader på samma gång och har kvar varje rads specifika id ?
erkaMedlem sedan dec. 19996 522 inlägg Kan problemet ligga i att på första sidan där jag loopar upp tio stycken rader med en textbox för id och en textbox för titeln(namn) på varje rad, har textboxarna namnen id2 och namn2. De blir ju samma namn på alla textboxar.
men egentligen borde det inte vara något problem med det...eller?
jispirMedlem sedan maj 20011 343 inlägg sorry erka att jag virrade till dig ännu mer såg inte att det var IN ni körde med. *skäms* :r
------------------
<A HREF="http://www.webtomten.com" TARGET=_blank>Den evige babbelfisk jägarn </A>
Ett gott trams för länger livet :e
erkaMedlem sedan dec. 19996 522 inlägg Har ju kommit på vad det är för fel..Dumma mig, men det gör inget för nu uppstod ett annat problem..
Det var det att alla textboxar fick samma namn genom loopningen på första sidan där man skriver in de nya namnen.
Om jag response.writar sql:en får jag ju
UPDATE listan SET namn = 'NINJA, SHIT, CRACK, BUT, AMERICAN, SVERIGE, SKIT, MIMM, HEHEH, DISS' WHERE id= '1, 2, 3, 4, 5, 6, 7, 8, 9, 10'
oroa er inte över de konstiga namnen, jag skrev bara lite svammel
Jag måste ju splitta upp alla värden med en array och sedan loppa den och köra en update
Men hur fan gör man ???
MyArray=split(namn2, ",") så splittar jag den eller hur ? men sen då ? mycket tacksam, mycket..
emissionMedlem sedan dec. 19996 721 inlägg namnarr=split(request.form("namn"),",")
idarr=split(request.form("id"),",")
for i=0 to ubound(namnarr)
SQLStmt="UPDATE LISTAN SET namn='" & namnarr(i) &"' WHERE Id=" & idarr(i)
Connect.Execute SQLStmt
next
------------------
-------------------
What a waste it is to lose one's mind. Or not to have a mind is being very wasteful. How true that is.
Dan Quayle
[Redigerat av emission den 06 okt 2000]
erkaMedlem sedan dec. 19996 522 inlägg Tack så mycket..bara en liten sak till, jag får det inte att fungera..
antar att koden ska se ut så här..
<%Dim conntemp, DSNtemp,objconn, connect, namnarr,idarr
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("../db/video.mdb")
Connect.Open DSNtemp
namnarr=split(request.form("namn2"),",")
idarr=split(request.form("id2"),",")
for i=0 to ubound(namnarr)
SQLStmt="UPDATE LISTAN SET namn='" & namnarr(i) &"' WHERE Id='" & idarr(i)
Connect.Execute(SQLStmt)
next
%>
båda fälten är text i databasen, får ändå felmedelandet
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i sträng i frågeuttrycket 'Id='1'.
tack du store
PatrikBMedlem sedan mars 20002 836 inlägg Hello,
prova denna kod:
<%Dim conntemp, DSNtemp,objconn, connect, namnarr,idarr
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("../db/video.mdb")
Connect.Open DSNtemp
namnarr=split(request.form("namn2"),",")
idarr=split(request.form("id2"),",")
for i=0 to ubound(namnarr)
SQLStmt="UPDATE LISTAN SET namn='" & namnarr(i) &"' WHERE Id='" & idarr(i) & "'"
Connect.Execute(SQLStmt)
next
%>
cya,
PatrikB
------------------
=================================
** ZWGdesign **
=================================
erkaMedlem sedan dec. 19996 522 inlägg Brimba, körde din kod helt och hållet. Fick ETT medelande jag ALDRIG fått innan, vad betyder..
Feltyp:
Körningsfel i Microsoft VBScript (0x800A0009)
Felaktigt matrisindex: 'i'
/match_klar/admin/andravideo_app.asp, line 9
hjälp, jag sjunker..tack för hjälpten hitills, ni är klippor
erkaMedlem sedan dec. 19996 522 inlägg Emission: Jag får ju felmedelandet
Syntaxfel i sträng i frågeuttrycket 'Id= '1'.
med din kod.
Är det inte så att han söker efter ett med värdet 'värde', varför har du inte sluttaggar i din kod..
här då
WHERE Id= '" & idarr(i)
@ndersMedlem sedan juni 200032 969 inlägg patriks kod kommer tyvärr sunka ur om det inte skickas en kommaseparerad lista. skickas endast ett värde så blir det ju ingen array av det hela.
man får då köra en ifsats runt som kollar av om det finns kommatecken i variabeln du får.
skickar du en kommaseparerad lista?
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
where do you want to go to die?</A>