Avatar billede mmolsen Nybegynder
05. september 2002 - 20:05 Der er 41 kommentarer og
1 løsning

Hvad er der i vejen med min UPDATE

Jeg skal opdatere på en database og skriver følgende:

Test = "UPDATE Varer SET GrubbeID = '" & Request.Form("VareGruppe") & "' WHERE VareID = " & Request.QueryString("VareID")

Conn.execute(Test)

Jeg får følgende fejl:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
/trendnation/ListTools.asp, line 372

POST Data:
VareGruppe=1

Jeg sidder lidt fast..

På forhånd tak
Avatar billede hells Nybegynder
05. september 2002 - 20:24 #1
prøv at udskrive sql'en
Avatar billede mmolsen Nybegynder
05. september 2002 - 20:27 #2
Hmm det ser ud til at problemet ligger i at det er et tal der skal opdateres. Da det virker fint med andre updates, hvor jeg opdatere tekst.
Avatar billede mtas Nybegynder
05. september 2002 - 20:28 #3
Er du sikker på at du har noget i request.form("varegruppe")

eller

sikker på at noget hedder GrubbeID ?? skulle det ikke være GruppeID ???
Avatar billede mtas Nybegynder
05. september 2002 - 20:29 #4
Fejlen som den kommer med plejer VIST at være hvis et angivet felt ikke findes i tabellen ´!!
Avatar billede mmolsen Nybegynder
05. september 2002 - 20:31 #5
Feltet findes i tabellen
Avatar billede mtas Nybegynder
05. september 2002 - 20:32 #6
hmmm!

sikker på at noget hedder request.querystring("vareid") ??
Avatar billede mmolsen Nybegynder
05. september 2002 - 20:33 #7
Som du kan se i POST Data, er VareGruppe = 1, derfor også at request.form("varegruppe") = 1.
Avatar billede mtas Nybegynder
05. september 2002 - 20:33 #8
har du et link til det eller er det kun intern ??
Avatar billede mmolsen Nybegynder
05. september 2002 - 20:33 #9
MEGET sikker på VareId er med :)
Avatar billede mtas Nybegynder
05. september 2002 - 20:33 #10
yearh men hvad med querystringen - har du husketden ??
Avatar billede mmolsen Nybegynder
05. september 2002 - 20:33 #11
Desvære kun intern
Avatar billede mtas Nybegynder
05. september 2002 - 20:33 #12
okay hvordan ser din <form action..> kode ud ??
Avatar billede mmolsen Nybegynder
05. september 2002 - 20:36 #13
Querystringen er der 100%.
For det virker fint hvis jeg udkommentere den linie med fejl, og så kun opdatere i de felter hvor det er tekst der skal opdateres
Avatar billede mmolsen Nybegynder
05. september 2002 - 20:37 #14
<form method="post" action="ListTools.asp?command=RedigerVareNu&VareID=<%= Request.QueryString("VareID") %>">
Avatar billede mtas Nybegynder
05. september 2002 - 20:37 #15
hvad er der på linje 372 ??
Avatar billede mtas Nybegynder
05. september 2002 - 20:37 #16
Hmm..hvad med fejl linjen 372 ??
Avatar billede mtas Nybegynder
05. september 2002 - 20:38 #17
Nå ja, men hvis du er sikker på querystring og på at alle tabelfelter og tabellen findes med de rigtige navne på det være database forbindelsen...
Avatar billede mtas Nybegynder
05. september 2002 - 20:38 #18
Så vis mig lige hvad 372 linje er ??
Avatar billede mmolsen Nybegynder
05. september 2002 - 20:40 #19
Som sagt virker det fint når jeg opdater i alle de felter hvor der er tale om teks. Det der ikke virker er når det er med tal der skal opdateres

Line 372. er den linie som jeg skrev i spørgsmålet
Avatar billede mtas Nybegynder
05. september 2002 - 20:41 #20
i databasen hvilken typefelt er GrubbeID og VareID så ???
Avatar billede mtas Nybegynder
05. september 2002 - 20:41 #21
men hvad med database forbindelsen ???
Avatar billede mtas Nybegynder
05. september 2002 - 20:42 #22
nej glem det...tænker lige...
Avatar billede hells Nybegynder
05. september 2002 - 21:03 #23
hvis GrubbeID er et nummerisk felt, skal der ikke anførselstegn om:
Test = "UPDATE Varer SET GrubbeID = " & Request.Form("VareGruppe") & " WHERE VareID = " & Request.QueryString("VareID")
Avatar billede mmolsen Nybegynder
05. september 2002 - 21:09 #24
Damn. får samme fejl.
Det virker virkelig somom at der ikke er noget i Request.Form("VareGruppe")
Men som der står i POST Data, så er VareGruppe=1
Avatar billede mmolsen Nybegynder
05. september 2002 - 21:14 #25
Og hvis jeg skriver Response.Write(Request.Form("VareGruppe")) står der 1
Avatar billede hells Nybegynder
05. september 2002 - 21:15 #26
Prøv med
Response.Write Test
Avatar billede mmolsen Nybegynder
05. september 2002 - 21:26 #27
Jeg fatter det simpelt hen ikke.
Jeg må næste være nødsaget til at slette posten og så indsætte det nye, for det virker. :(
Avatar billede mmolsen Nybegynder
05. september 2002 - 21:38 #28
Men jeg håber da stadig på at få løst problemet :)
Avatar billede eagleeye Praktikant
05. september 2002 - 21:46 #29
Hvileken type er  GrubbeID  samt VareID  i databasen  ??
Avatar billede mmolsen Nybegynder
05. september 2002 - 22:02 #30
Ok tror jeg har fundet fejlen:
I ser den således ud: <option value="<%= SQLVareGruppe("GruppeNavn") %>">
Hvor det nok skal være: <option value=<%= SQLVareGruppe("GruppeNavn") %>>
kan man det ??
Avatar billede mmolsen Nybegynder
05. september 2002 - 22:03 #31
I ser således ud = I min form ser det således ud
Avatar billede mmolsen Nybegynder
05. september 2002 - 22:04 #32
hov forkert... sorry
I formen ser det således ud: <option value="<%= SQLVareGruppe("GruppeID") %>">
Hvor det nok skal være: <option value=<%= SQLVareGruppe("GruppeID") %>>
Avatar billede eagleeye Praktikant
05. september 2002 - 22:06 #33
Det er mest korrekt aaat bruge denne: <option value="<%= SQLVareGruppe("GruppeID") %>">
Avatar billede eagleeye Praktikant
05. september 2002 - 22:07 #34
Danm der kom nogle a'er i at...

Det har ikke noget med fejlen at gøre om du har " omkring eller ej.. Det som har betydning er hvilken type er de kolonner i databasen.
Avatar billede mmolsen Nybegynder
05. september 2002 - 22:15 #35
Typen er tal i databasen
Avatar billede eagleeye Praktikant
05. september 2002 - 22:16 #36
Hvis det er en Access så skal der ikke ' omkring tal i SQL sætninger det er kun hvis det er tekst kolonner:

Test = "UPDATE Varer SET GrubbeID = " & Request.Form("VareGruppe") & " WHERE VareID = " & Request.QueryString("VareID")
Avatar billede mmolsen Nybegynder
05. september 2002 - 22:19 #37
Den løsning kom hells også med, men det virkede stadig ikke
Avatar billede eagleeye Praktikant
05. september 2002 - 22:22 #38
arh du har også krevet GrubbeID med B og ikke P som når du hendter data ud fra databsen:

Test = "UPDATE Varer SET GruppeID = " & Request.Form("VareGruppe") & " WHERE VareID = " & Request.QueryString("VareID")
Avatar billede mmolsen Nybegynder
05. september 2002 - 22:28 #39
Nu har jeg godt nok lavet nogle ændringer, men du har sq nok ret. Det er nok mig der har keglet i det.

Sorry.

Du får point så jeg kan afslutte.

Takker alle for deres medvirken i debatten :)
Avatar billede mmolsen Nybegynder
05. september 2002 - 22:35 #40
mtas kan jeg ikke nå at give dig point ?? du kom også med svaret
Avatar billede eagleeye Praktikant
05. september 2002 - 22:41 #41
Jeg giver ham halv delen ... http://www.eksperten.dk/spm/254612
Avatar billede eagleeye Praktikant
05. september 2002 - 22:41 #42
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