29. maj 2002 - 12:12Der er
13 kommentarer og 3 løsninger
Opret Recordsæt fkt....
Jeg prøver at lave en lille funktion der gør det nemmere at oprette et recordsæt, når funktion.inc er includet...
function OpenDB() Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("platodb.mdb") end function
function OpenRS(sql_streng) Set objRS = Server.CreateObject("ADODB.Recordset") sqlCall = sql_streng objRS.cursorType=0 objRS.open sqlCall,objConn 'linje 24 end function
Men for fejlen...
ADODB.Recordset error '800a0bb9'
The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.
/plato/funktioner.inc, line 24
Jeg tror det er syntaks, fejl. Da jeg ikke er så god til VB.
Her bliver fkt'erne kaldt på den side hvor funktioner.inc er included. <%OpenDB()%> <%OpenRS("SELECT MAX(medlemsnr) as nr FROM Medlem")%>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvorfor ikke lave en connection i din OpenRS function? du vi jo alligevel bruge en fra den anden funktion. Altså noget lignende det her
function OpenRS(sql_streng) Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("platodb.mdb") Set objRS = Server.CreateObject("ADODB.Recordset") sqlCall = sql_streng objRS.cursorType=0 objRS.open sqlCall,objConn end function
Det kunne rent faktisk også være fordi den allerede har åbnet sin connection til databasen --> objConn.Open, ikk' Og når du så vil åbne den igen, så er der lige pludselig intet at åbne så en anden ting kunne vel være.
function OpenRS(sql_streng) Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("platodb.mdb") Set objRS = Server.CreateObject("ADODB.Recordset") sqlCall = sql_streng objRS.cursorType=0 objRS.open sqlCall end function
Så åbner den din connection og eksekverer derefter din sql streng med et recordset.
-Jeg må indrømme at jeg helst vil have det i 2 funktioner, som beskrevet først. Når jeg bruger master-d- sidste indlæg får jeg følgende fejl når jeg henter noget fra Recordsættet: Microsoft VBScript runtime error '800a000d'
Type mismatch: 'objRS'
/plato/modtager_side.asp, line 21
<%OpenRS("SELECT MAX(medlemsnr) as nr FROM Medlem")%>
--> master-d- forsøgte lige dit kl12:41 indlæg og får følgende fejl: The application requested an operation on an object with a reference to a closed or invalid Connection object.
Aå dit andet forsøg var ok, fik dog en fejl mhs. til mismatch, selvom jeg helst ville have 2 funktioner, det var muligt den gang jeg bare brugte javascript istedet for VB-
Fejlen var at de skulle erklæres public objConn og ObjRS, fordi... Ja det ved jeg ikke, men det skulle de!!!
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.