Ups... Lidt for hurtig på udfør-knappen Jeg forsøger igen:
Funktionen kører fint.. Men jeg vil gerne gemme det recordset i min database, derfor skal min kode se således ud...: rs.ActiveConnection = sCon rs.UpdateBatch
Formålet er at man skal kunne sende et recordset ind i funktionen Fubar, Fubar skal så gemme recordsettet i min DB, herefter skal fubar returnere en værdi....
Problemet er at det virker fint i en VB-app. men jeg får type mismatch i asp. Hvis jeg siger at fubar skal modtage en variant så sker der intet i min DB.
Her er koden: Public Function Fubar(rs As ADOR.Recordset) As Long rs.ActiveConnection = sCon \'skaber en forbindelse til DB, sCon er min connectionstring rs.UpdateBatch \'Opdater det hele !!
Fubar = 1 End Function
Denne funktion virker fint hvis jeg vælger ikke at sætte en returværdi på funktionen.
Min asp-kode: set rs = obj.GetEmptyRS() rs.addnew rs(\"id\") = 1 rs(\"name\") = \"Test\" rs.update i = obj.fubar(rs)
............
Funktionen GetEmptyRs: Public Function GetEmptyRs() As ADOR.Recordset Dim rs As ADOR.Recordset Dim sSql As String
sSql = \"SELECT * FROM user WHERE 1=2\" \'Henter et tomt recordset Set rs = CreateObject(\"ADOR.Recordset\") rs.CursorLocation = adUseClient rs.Open sSql, sCon, adOpenKeyset, adLockBatchOptimistic Set rs.ActiveConnection = Nothing Set GetEmptyRs = rs End Function
ASP - siger at fejlen er i linien med i = obj.fubar(rs)
Den bliver derfor ikke udført! Det underlige er så at hvis jeg skriver: obj.fubar(rs) så kommer det i databasen, men jeg får jo ikke fat i min returværdi...
Jeg har forsøgt at typecaste variablen i til long men det hjælper intet !!!
Jeg tror problemet ligger inde i selve funktionen.. det kan ligge hvor som helst inde i den... er der basis for at du kan skrive alt koden her, så vi kan se hvad der sker?
Måske skulle du også prøve at kalde argumentet for object bare..
jeg har selv rodet med de samme problemer her for nyligt, kan kun sige at vb virkelig sutter ars =)
Jeg har postet koden en gang... men lad os prøve igen:
Public Function Fubar(rs As ADOR.Recordset) As Long rs.ActiveConnection = sCon \'skaber en forbindelse til DB, sCon er min connectionstring rs.UpdateBatch \'Opdater det hele !!
Fubar = 1 End Function
Denne funktion virker fint hvis jeg vælger ikke at sætte en returværdi på funktionen.
Min asp-kode: set rs = obj.GetEmptyRS() rs.addnew rs(\"id\") = 1 rs(\"name\") = \"Test\" rs.update i = obj.fubar(rs)
............
Funktionen GetEmptyRs: Public Function GetEmptyRs() As ADOR.Recordset Dim rs As ADOR.Recordset Dim sSql As String
sSql = \"SELECT * FROM user WHERE 1=2\" \'Henter et tomt recordset Set rs = CreateObject(\"ADOR.Recordset\") rs.CursorLocation = adUseClient rs.Open sSql, sCon, adOpenKeyset, adLockBatchOptimistic Set rs.ActiveConnection = Nothing Set GetEmptyRs = rs End Function
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.