Jag har ett inloggnings script som ändrar de olika "users" till "online" eller "offline" i ett tabelnamn "status". Finns 2 möjligheter den skriver: "Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt. Rad 12" Prova detta funkar inte :( Heter din tabell "status"? Tabellen heter users. <!-- #include file="adovbs.inc"--> Tja, eller om man nu vill förenkla allting ännumer så kan man ju använda en helt vanlig counter...Online i en databas?
Vad jag nu undrar är hur räknar man antalet "online" i den databasen, jag vill få det i visat i siffror på sidan.Sv: Online i en databas?
<code>
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT count(*) As Antal FROM status WHERE users = 'online'"
rs.Open SQL, strConnect, adOpenStatic, adLockOptimistic
Response.Write(rs("Antal"))
</code>
eller
<code>
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM FROM status WHERE users = 'online'"
rs.Open SQL, strConnect, adOpenStatic, adLockOptimistic
Response.Write(rs.RecordCount)
</code>Sv: Online i en databas?
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("inside/db/login.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM users WHERE status = 'online'"
rs.Open Addera, Connect, adOpenStatic, adLockOptimistic <--rad 12
%>Sv: Online i en databas?
<code>
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM status WHERE users=online", strConnect, 1, 3
Response.Write rs.RecordCount
</code>
Lycka till!
mvh
//JonnieSv: Online i en databas?
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.Sv: Online i en databas?
Heter ditt fält "users"
Beskriv din tabell, kolumnnamn mmSv: Online i en databas?
Fältet heter status.
Där är ett fält som heter status där det står antingen "online" eller "offline", och om det står "online" vill jag veta hur många i databasen som har det.Sv: Online i en databas?
<%
sql= "SELECT status FROM users WHERE status= 'online'"
rs.Open sql, conn, adOpenKeyset, adLockOptimistic
rs.MoveLast
antal= rs.RecordCount
rs.Close
Response.Write antal
%>
För att använda RecordCount måste du inkludera filen "adovbs.inc".
Du har den förmodligen på din hårddisk.
Jag hittade den i Program-Vanliga filer-system-ado
Annars kan du göra en sökning.
Kopiera den och lägg den i samma mapp som dina filer.
Lycka till/ RobertSv: Online i en databas?
<code>
set rs = Connect.execute("SELECT status FROM users WHERE status= 'online'")
If not rs.bof then ' om ingen är påloggad så kör inte
rs.MoveFirst
counter = 0
while not rs.eof
counter = counter + 1
rs.MoveNext
wend
end if
Response.Write counter
rs.Close
set rs = nothing
</code>
I det här inlägget så är felet...
---
den skriver: "Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt. Rad 12"
<code>
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("inside/db/login.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM users WHERE status = 'online'"
rs.Open Addera, Connect, adOpenStatic, adLockOptimistic <--rad 12
' här sätter du Addera som SQL information
' vilket uteslutande leder till ett fel
skriv om rad 12 till
rs.Open SQL, Connect, adOpenStatic, adLockOptimistic 'notera att Addera är utbytt mot SQL
</code>
För lite extra stabilitet i din db uppkoppling så rekomenderar jag att du sätter lite konstanter även (alltid bra att deklarera). Lägg till dessa innan Set Connect = Server...
<code>
const adLockOptimistic = 3
const adOpenStatic = 3
</code>
Lycka till!
// eric herlitz