30. august 2002 - 17:23Der er
27 kommentarer og 1 løsning
Find tilfældig post
Jeg har denne kode, som skal vise en tilfældig post fra et recordset. ------------- SELECT Top 1 *, VareID FROM Vare ORDER BY Rnd(VareID) ---------------------- Det virker ikke. Den viser hele tiden den sammen post. Hvad skal jeg gøre for, at denne vil vise en forskellig post hver gang siden loades på ny.
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Sql = \"Select count(*) as Found from [dintabell]\" Set Record = myConn.Execute(Sql) Ialt = Record(\"found\") Sql = \"Select * from [dintabell]\" Set Record = myconn.Execute(Sql) Randomize RandNum = Int(Rnd * Ialt) + 1 Record.MoveFirst For i = 1 to RandNum - 1 Record.MoveNext next response.write ... myConn.Close Set myConn = Nothing %>
Sql = "Select count(*) as Found from [dintabell]" Set Record = myConn.Execute(Sql) Ialt = Record("found") Sql = "Select * from [dintabell]" Set Record = myconn.Execute(Sql) Randomize RandNum = Int(Rnd * Ialt) + 1 Record.MoveFirst For i = 1 to RandNum - 1 Record.MoveNext next response.write ... myConn.Close Set myConn = Nothing
SQL = "SELECT * FROM tblJokes" Set rs = Conn.Execute(SQL)
SQLCount = "SELECT Count(*) As Show FROM tblJokes" Set go = Conn.Execute(SQLCount)
Function ShowJoke() Randomize RandNum = Int(Rnd * go("Show")) + 1 rs.MoveFirst For i = 1 to RandNum - 1 rs.MoveNext Next Response.Write(Replace(rs("Joke"),vbCrLf, "<br>") & " " & Replace(rs("Joke"),vbCrLf, "<br>")) End Function %>
strSQL = "SELECT * FROM advert where place = '" & strPlace & "'" RS.Open strSQL, objConn, 3 'Find antal records recCount = rs.RecordCount 'Find random nummer randomize rec = int(rnd * recCount) 'Flyt til den valgte record rs.Move rec 'Udskriv response.write rs("kolonnenavn")
Hej med jer. Ja undskylde det sene svar, men jeg er først lige kommet hjem. Det er en acces database jeg bruger. Jeg har brugt en del af medions kode, men det virker ikke endnu. ------------------------------ <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <!--#include file="../../Connections/hans.asp" --> <% Sql = "Select count(*) as Found from [Vare]" Set Record = myConn.Execute(Sql) Ialt = Record("found") Sql = "Select * from [Vare]" Set Record = myconn.Execute(Sql) Randomize RandNum = Int(Rnd * Ialt) + 1 Record.MoveFirst For i = 1 to RandNum - 1 Record.MoveNext next response.write myConn.Close Set myConn = Nothing %> ---------------------- Her er fejlkoden ----------------------- Microsoft VBScript runtime error '800a01a8'
Object required: 'myConn'
start.asp, line 5 -------------------------- Jeg har brugt min egen forbindelse til databassen. <!--#include file="../../Connections/hans.asp" -->
Min conn er ' FileName="Connection_ado_conn_string.htm" ' Type="ADO" ' DesigntimeType="ADO" ' HTTP="true" ' Catalog="" ' Schema="" Dim MM_Lokecykler_STRING Skal jeg så udskifte Myconn med MM_Lokecykler_STRING ...?
Sql = "Select count(*) as Found from [Vare]" Set Record = MM_Lokecykler_STRING.Execute(Sql) Ialt = Record("found") Sql = "Select * from [Vare]" Set Record = MM_Lokecykler_STRING.Execute(Sql) Randomize RandNum = Int(Rnd * Ialt) + 1 Record.MoveFirst For i = 1 to RandNum - 1 Record.MoveNext next response.write MM_Lokecykler_STRING.Close Set MM_Lokecykler_STRING = Nothing
%> ----------------- Jeg synes bare ikke rigtig at jeg har glemt at erstatte det nogen steder
Her er den side som forbinder min min asp side med min database <% ' FileName="Connection_ado_conn_string.htm" ' Type="ADO" ' DesigntimeType="ADO" ' HTTP="true" ' Catalog="" ' Schema="" Dim MM_Lokecykler_STRING MM_Lokecykler_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= d:\Hans.mdb" %> Denne side bliver forbundet til min start.asp med denne her <!--#include file="../../Connections/hans.asp" --> ---------------- Hvad er min connection object så ...? (en lidt forvirret mand...!)
Nu ser fejlen sådan ud ----------------- Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
start.asp, line 5 ----------------- Koden ser sådan ud nu ------------------- <% <!--#include file="../../Connections/Hans.asp" --> Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open MM_Lokecykler_STRING Sql = "Select count(*) as Found from [Vare]" Set Record = myConn.Execute(Sql) Ialt = Record("found") Sql = "Select * from [Vare]" Set Record = myconn.Execute(Sql) Randomize RandNum = Int(Rnd * Ialt) + 1 Record.MoveFirst For i = 1 to RandNum - 1 Record.MoveNext next response.write myConn.Close Set myConn = Nothing %>
Det virker ikke...? ----------------- Kan man ikke bruge den du har forslået --------------------- strSQL = "SELECT * FROM Vare" RS.Open strSQL, objConn, 3 'Find antal records recCount = rs.RecordCount 'Find random nummer randomize rec = int(rnd * recCount) 'Flyt til den valgte record rs.Move rec 'Udskriv response.write rs("kolonnenavn")
rs.Close ------------- Når jeg bruger denne her, så får jeg fejl ----------------- Microsoft VBScript runtime error '800a01a8'
Her er min kode nu ---------------- <!--#include file="../../Connections/Hans.asp" --> <% Set myConn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM Vare" RS.Open strSQL, objConn, 3 'Find antal records recCount = rs.RecordCount 'Find random nummer randomize rec = int(rnd * recCount) 'Flyt til den valgte record rs.Move rec 'Udskriv response.write rs("VareID") rs.Close ------------- Og her er fejlmeddelsen ------------------ ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Nu virker det. Jubiiiiiiii Jeg takker mange gange for hjælpen, uden dig var det nok ikke lykkedes i dette årti. Hvis du vil have dine point, så skal du lige give mig et svar, så jeg kan accepter dit svar.
Jeg takker endnu en gang. Nu er det vist tid til at få en velfortjent søvn. God weekend til dig eagleeye
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.