Der findes mange forskellige typer cursors (readonly, update, keyset mv.)! - For at finde den rigtige til dit brug, kan du så ikke oplyse hvad den cursor skal bruges til (update, insert osv..)
jeg har det problem lige nu at jeg sætter min cursor type til 3 i min asp kode (rs.open sql,conn,3,1,1) Kan bruge Const adOpenKeyset = 1 Const adOpenStatic = 3 Hvilken er bedst?
Men min stored procedure overskriver det jeg sætter i min asp kode og laver min cursor type om til 1 adopenforwardonly...
Og den cursortype kan jeg ikke bruge da jeg har index tal og pile til at gå frem og tilbage i recordsettet med.
Så skal i min stored procedure have sat en cursor type
Hør lige her... Den type cursors der findes i SP og i ADO er altså 2 vidt forskellige slags! - Lidt ligesom at sammenligne pærer med bananer. Hvis du bare har spurgt lidt mere præcist fra starten af såh... ;O)
Åben dit RS med: objRS.Open strSP, objConn, adOpenDynamic, adLockReadOnly
Hvis jeg åbner med adOpenDynamic altså 2 så får jeg fejlen
ADODB.Recordset (0x800A0CB3) Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype.
Hvis jeg bruger 1 eller 3 går det fint men hvis jeg Declare en variable i min stored procedure og udskriver min cursortype i min asp kode skriver den at cursortype er 1 altså adopenforwardonly selvom jeg har sat den til 3. Hvis jeg ikke declare en variable i min stored procedure køre det hele som det skal.
stener: som jeg læser det er du int. i noget select af en art. Kunne du ikke poste den de indledende manøvre førend du åbner dit rs ? , så skal jeg nok lige tage et kig :O)
ocp: det passer ikke... Du kan updatere, inserte, selecte osv. med en sp igennem ADO! Data fra en SP.. hmmm heller ikke korrekt! Det kommer igen an på hvordan din sp er udformet.
Ja, præcis som jeg også beskrev, MEN: Man kan ikke opdatere på resultatet FRA en stored procedure på den måde som man kan med data fra f.eks. et select, altså dynamisk. Man SKAL oprette en SP der kan opdatere data på baggrund af f.eks. et id.
hej ocp. Jeg må nok indrømme at jeg ikke er helt med lige nu! Det kommer jo ganske an på hvad den SP returnerer og hvordan. Du kan da eks.vis snildt have nestede SP's hvorigennem updates/ insert finder sted på baggrund af de records fra SP.
Men forklar lige lidt nærmere, måske vi misforstår hinanden :O)
Det, jeg snakker om, minder mest om databinding, dvs. at du knytter en datakilde til f.eks. et grid som således kan styre opdateringer dynamisk, baseret på en cursor (som er opdaterbar).
Aha på den måde... Nej det er mere eller mindre klart iogmed der jo eksisterer en binding (eller rettere ingen binding) imellem grid og sp :O) Vi skulle bare lige ha begreberne på plads åbenbart. Men lad os høre hvad 'stener' har af kommentarer til scenariet.
select Annoncer.A_id, Annoncer.A_Brand, Annoncer.A_Model, Annoncer.A_Aargang, Annoncer.A_Pris, Annoncer.A_Thumpic, Annoncer.A_Upload, Brands.B_navn From Annoncer, modul, Brands Where M_Startdato < Getdate() AND M_Slutdato > Getdate() AND M_id = A_Modulid AND A_Brand LIKE @brand AND A_Model LIKE '%' + @Model + '%' AND A_Type LIKE '%' + @Type + '%' AND A_Aargang BETWEEN @Aargang1 AND @Aargang2 AND A_Ccm BETWEEN @Ccm1 AND @Ccm2 AND A_Pris BETWEEN @Pris1 AND @Pris2 AND A_Afgift = 1 AND Brands.B_id = Annoncer.A_Brand ORDER BY Brands.B_navn GO
Hvis jeg bruger denne sp og bruger cursortype 3 til at åbne mit recordset med virker det fint.
Men hvis jeg declare en variable i min sp så bliver min cursortype lige pludeselig 1 altså adforwardonly også får jeg fejlen:
Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype.
Og det er jo klart nok da mit recordset nu kun kan køre fremad men hvorfor faen laver sp'en min cursor type om hvis jeg prøver at at declare en variable det fatter jeg ikke.
Hmmm, så at du direkte på dit RS bruger connection! - Lav et commend object og brug connection på det, og på det command bruger du så dit rs!. Så funker det højst tænkeligt!
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.