<code>function random() I MySQL kan man använda <b>SELECT id FROM random ORDER BY RAND() LIMIT 1</b> för att få slumpmässigt vald post, men om det går att använda samma metod i Access eller annan MS-databas vet jag inte. nej just ja, glömde säga att jag kör access..... är där fungerar inte rand() <code> Frexuz. förstår ditt resonemang helt och hållet, men jag har precis börjat med .net =) SELECT TOP 1 random.* FROM random ORDER BY RND(random.id + Timer())random från db
Dim connString as String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:\Inetpub\frexuz.mdb;"
Dim objConnection as New OleDbConnection(connString)
objConnection.Open()
Dim myCommand as New OleDbCommand("SELECT max(id) FROM random", objConnection)
Dim objDataReader as OleDbDataReader = myCommand.ExecuteReader()
end function</code>
precis börjat med .net och såhär långt har jag kommit
nu vet jag inte hur jag får ut själva värdet från sql-satsen, dvs det som motsvarar ett recordset i classic asp.
sen tänkte jag göra en till sql-sats som får ut min(id), och sen göra en randomize mellan dessa 2 värde.
finns det något bättre sätt ? skulle uppskatta kod-exempel isfSv: random från db
Sv: random från db
Sv: random från db
SELECT TOP 1 TabellNamn.*
FROM TabellNamn
ORDER BY RND(TabellNamn.id + Timer())
</code>Sv: random från db
Hej, Inget direkt svar på dit inlägg kanske men mer ett tips på uppbyggnad. Jag personligen skulle inte lagt logik i en SP alltså RND som i ditt fall. Utan jag skulle hämtat ut alla den data jag vill köra random på och sedan i min metod plocka ut random data från mitt resultat. Detta för att öka spårbarhet och förståelse över din kod. Samt öka återanvändning och enklare buggfixning. Många (tyvärr) bygger in en massa logik i sina SPs och går in i dem för att göra ändringar. Något som oftast relaterar i spagettiartade system och inte minst svårförstådd affärslogik. Man kan inte direkt i din kod veta att du får ett random värde från din databas, om en bugg skulle uppstå måste man kolla metoden, sedan gå in i SPn för att se vad du gör där. En process som skulle kräva mer tid än om du direkt i din kod visade för utvecklarna att du faktiskt tar utt ett random resultat. Försök att köra ren CRUD mot databasen men alla annan specialhantering i dina klasser och metoder så lovar jag dig att du för ett mer lättförändrat system, minde dokumentation och ökad kvalité.
Om du inte redan är inne i OO träsket kommer detta även vara ett steg för att få ett mer modulärt och OO anpassat tankesätt. Men dock fortfarande långtdärifrån om du fortfarande sitter inne med det funktionsorienterade sättet.
mvh JohanSv: random från db
men grymmt svar, så tackSv: random från db
min tabell heter random
och jag fick inget error, så det borde fungera