Felmeddelande: Du har tydligen redan oppnat din connection innan, den kod är för lite för att riktigt kunna hjälpa dig. Som saw säger, redan tidigare i din kod står det Set Rs = ... men du har inte efter det blocket skrivit rst.close . Det är helt ok att återanvända samma namn till ett recordset, men det måste stängas emellan för annars får du just detta fel. Du skall INTE använda execute... Ett av budorden innaom programmering. jag har en fil som heter "add.asp", vad den gör fattar ni säkert :) Men då jag aldrig öppnar ett RecordSet kan jag väl använda execute?? HAr du läst igenom mitt inlägg? Om du gjort det antar jag att jag inte formulerat mig korrekt.Felmeddelande,kod:
Error Type:
ADODB.Recordset (0x800A0E79)
Operation is not allowed when the object is open.
/seal/sida/texter/index.asp, line 249
Rad 139 - 150:
Set Rs = Cn.Execute("SELECT * FROM texter WHERE cat_id = " & Request.Querystring("cat_id") & "")
Const fps1 = 25
If Request.QueryString("page") = "" then
page = 1
Else
page = Request.QueryString("page")
End If
Rs.CursorLocation = 3
Rs.CacheSize = fps1Sv: Felmeddelande,kod:
Skicka in lite mera kod.Sv: Felmeddelande,kod:
Sv: Felmeddelande,kod:
Skriv istället:
<code>
Const fps1 = 25
If Request.QueryString("page") = "" then
page = 1
Else
page = Request.QueryString("page")
End If
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.CacheSize = fps1
Rs.CursorLocation = 3
Rs.Open "SELECT * FROM texter WHERE cat_id = " & CLng(Request.Querystring("cat_id")), Cn
</code>
Låt mig förtydliga:
Ett recordset kan se som ett hur för data. Du bygger ditt hus innan innan data flyttar in. Du kan inte bygga om grunden på huset om folk flyttat in. Då går bara att tapetsera väggar osv.
Det samma gäller recordset. Egenskaperna CacheSize och CursorLocation går inte att förändra då ett recordset är öppet. För detta skulle korrumpera data innehållet i recordset (Inte riktigt sant, men låt oss säga det). Execut instansierar och öppnar recordsetet för dig. Du förlorar därför möjligheten att ange hur den skall lagra information.Sv: Felmeddelande,kod:
Sv: Felmeddelande,kod:
Genom att använda EXECUTE ÖPPNAR du RECORDSET'et. Du kan INTE ändra EGENSKAPERNA på ett ÖPPET RECORDSET. Det är därför du får detta felmedelande. Du försöker ändra egenskaperna på ett öppet recordset (Öpnnat med executemetoden). Aja baja.