Avatar billede l_otto Nybegynder
10. december 2003 - 12:02 Der er 11 kommentarer og
1 løsning

den vil indsætte det den skal

Så skal jeg bruge en skarp mand, jeg har set mig blind på den kode... den skal indsætte "voteAverage" i tabellen PIC_AVE


men det vil den ikke.. jeg får ikke nogen fejl når jeg kører siden... voting.asp

Håber vildt på hjælp inden jeg springer ud af vinduet !

<%

set cmdVoting = Server.CreateObject("ADODB.Command")
cmdVoting.ActiveConnection = MM_connDUpics_STRING
cmdVoting.CommandText = "UPDATE PICTURES SET PIC_VOTE_COUNT = PIC_VOTE_COUNT + 1, PIC_VOTE_VALUE = PIC_VOTE_VALUE + " & Request.Form("voteValue") & " WHERE PIC_ID = " & Request.Form("iPic")
cmdVoting.CommandType = 1
cmdVoting.CommandTimeout = 0
cmdVoting.Prepared = true
cmdVoting.Execute()

set rsVotes = Server.CreateObject("ADODB.Recordset")
rsVotes.ActiveConnection = MM_connDUpics_STRING
rsVotes.Source = "SELECT PIC_VOTE_COUNT, PIC_VOTE_VALUE FROM PICTURES WHERE PIC_ID = " & Request.Form("iPic")
rsVotes.CursorType = 0
rsVotes.CursorLocation = 2
rsVotes.LockType = 3
rsVotes.Open()
rsVotes_numRows = 0

Dim voteAverage, voteCount, voteValue
voteCount = rsVotes.Fields.Item("PIC_VOTE_COUNT").Value
voteValue = rsVotes.Fields.Item("PIC_VOTE_VALUE").Value
voteAverage = (voteValue/voteCount)
voteAverage = FormatNumber(voteAverage, 1, -2, -2, -2)

set cmdInsertVoteAverage = Server.CreateObject("ADODB.Command")
cmdInsertVoteAverage.ActiveConnection = MM_connDUpics_STRING
cmdInsertVoteAverage.CommandText = "UPDATE PICTURES SET PIC_AVE = " & voteAverage & " WHERE PIC_ID = " & Request.Form("iPic")
cmdInsertVoteAverage.CommandType = 1
cmdInsertVoteAverage.CommandTimeout = 0
cmdInsertVoteAverage.Prepared = true
cmdInsertVoteAverage.Execute()



Response.Cookies(Request.Form("iPic")) = Request.Form("voteValue")
Response.Cookies(Request.Form("iPic")).Expires = Date + 1000
Response.Redirect "defaultj.asp?iPic=" & Request.Form("iPic")
%>
Avatar billede ldanielsen Nybegynder
10. december 2003 - 12:06 #1
Jeg forstår at det er den sidste Update der ikke kører!

Kan du udskrive den med
Response.write (cmdInsertVoteAverage.CommandText), så vi kan se den, det plejer at være et godt sted at starte
Avatar billede l_otto Nybegynder
10. december 2003 - 12:10 #2
det er lidt svært for voting.asp kører som en valideringside... når jeg trykker stem på stemmesiden vender den lige voting.asp og kommer så tilbage..
Avatar billede thesurfer Nybegynder
10. december 2003 - 12:43 #3
Som jeg altid plejer at sige:
1) Bruge ALTID Option Explicit som den første linie i dit asp dokument
2) Definer ALTID dine variabler.
Hvis du udfører punkt 1 og 2, vil du hurtigt fange stavefejl, som tit er problemet.

Mht ldanielsen's forslag.. put et ' tegn (apostrof) foran denne linie, så den ikke bliver udført:

' Response.Redirect "defaultj.asp?iPic=" & Request.Form("iPic")
Avatar billede thesurfer Nybegynder
10. december 2003 - 12:48 #4
Jeg går ud fra at indholdet af både voteAverage og Request.Form("iPic") er tal, og ikke strenge..
Ellers skulle det være:
"UPDATE PICTURES SET PIC_AVE = '" & voteAverage & "' WHERE PIC_ID = '" & Request.Form("iPic") & "'"
Men burde have fået en eller anden "Type Mismatch" fejl, hvis det var..

Du kunne prøve på at fange fejlen ved at indsætte nogle checkpointe med response.write..

Indsæt det her under din Option Explicit: response.buffer = false
Så vil den udføre noget kode, og vise dig det med det samme.. i stedet for at udføre al koden og derefter sendes dig html'en..
Avatar billede l_otto Nybegynder
10. december 2003 - 12:50 #5
den er ved at være der to sek
Avatar billede l_otto Nybegynder
10. december 2003 - 13:34 #6
så drenge nu er den ved at være der.. mit prob er nu er når den skal sætte gennemsnittet ind  f.esk 19/3 = 6.33 sætter den et 6tal ind jeg kan ikke få den til at have decimal i det felt.. delte står som tal . Langt heltal og 2 decimaler ?
Avatar billede l_otto Nybegynder
10. december 2003 - 13:50 #7
det er en access..

UPDATE PICTURES SET PIC_AVE = 4.8 WHERE PIC_ID = 1

sætter den PIC_AVE = 4

hvad gør en klog mand.. jeg har snart prøvet alt med den access
Avatar billede eagleeye Praktikant
10. december 2003 - 16:28 #8
Har du sat Feltstørrelsen til: Reelt tal for kolonnen?
Avatar billede eagleeye Praktikant
10. december 2003 - 16:29 #9
i Access, eller klipper den gerne det efter komma'et (.) fra.
Avatar billede l_otto Nybegynder
11. december 2003 - 09:07 #10
Eagle ... tak igen igen igen... så må i gerne svare.. :-)
Avatar billede eagleeye Praktikant
11. december 2003 - 17:04 #11
Ok, du får da lige et fra mig så ;)
Avatar billede thesurfer Nybegynder
11. december 2003 - 21:27 #12
Jeg kan ikke se at jeg har hjulpet, så jeg lægger ikke et svar :)
eagleeye har fortjent dem.
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