16. november 2004 - 18:09Der er
16 kommentarer og 1 løsning
problemer med Select MAX
flg kode skal tage højeste værdi fra kolonnen "placering" og ligge 1 til for hver post der oprettes, men selvom der er masser af poster i DB'en bliver select max ved med at have værdien NULL istedet for værdien af det højeste tal i kolonnen "placering", hvad er der galt??
For Each File in Upload.Files
Dim navn, galleri, pos, SQL
SQL = "SELECT MAX(placering) as SidstePost from galleriBilleder where galleri = "&request.QueryString("galleriID") Set rsPos = MyConn.Execute(SQL) if rsPos.Eof or IsNull(rsPos("SidstePost")) Then pos = 1 else pos = (rsPos("sidstePost")+1)
navn = File.FileName galleri = request.QueryString("galleriID") SQL = "Insert Into galleriBilleder (navn, galleri, placering) Values('"&navn&"','"&galleri&"',"&pos&")" MyConn.Execute(SQL)
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
Ved ikke hvorfor den gör det, men kan du ikke bare skrive: SQL = "SELECT MAX(placering) as SidstePost from galleriBilleder where placering <> NULL AND galleri = "&request.QueryString("galleriID")
Aggregatfunktionerne Max(), Min() og Avg() returnerer Null, hvis der ingen poster er. Det kunne derfor være, at du skulle starte med at undersøge, om der overhovedet er nogle tupler, der matcher forespørgslen:
SQL = "SELECT Count(*) from galleriBilleder where galleri = "&request.QueryString("galleriID") Set rsPos = MyConn.Execute(SQL) Response.Write rsPos(0)
hmm hvis jeg laver en response.write rsPos(0)efter SQL = "SELECT Count(*) og inden NEXT udskriver den ikke noget, og hvis jeg sætter den efter next får jeg flg fejl:
Pröv (burde väre det samme, men man kan pröve): SQL = "SELECT Count(*) AS antal from galleriBilleder where galleri = "&request.QueryString("galleriID") Set rsPos = MyConn.Execute(SQL) Response.Write rsPos("antal")
Prøv at skrive følgende i din test, så du præcis kan se, hvad der egentlig foregår:
For Each File in Upload.Files SQL = "SELECT Count(*) from galleriBilleder where galleri = "&request.QueryString("galleriID") Set rsPos = MyConn.Execute(SQL) Response.Write SQL & "<br>Antal poster: " & rsPos(0) & "<br><br>" Next
Shit hvor er vi dumme. Det er klart det er et tekstfelt når den udskriver NULL. Men vi tog for givet at det skulle väre et numerisk felt, eller at der ikke fandtes nogle tupler. Nogen gange kan man ikke se skoven for alle träerne
Ja, så er det jo ikke så underligt, at der ikke returneres noget.
Synes godt om
Ny brugerNybegynder
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.