Hej! ... dessutom skall du inte inkludera ado konstanterna på båda ställena. Tog bort Option Explicit och då fungerade det, tack för det, men Option Explicit ska man väl kunna ha i alla asp-filer för att få korrekta felmeddelanden om man glömt definierat en variabel eller har jag missat något där, sen trodde jag att man var tvungen att ha med include adovbs för att få det att fungera överhuvudtaget eller det behövs inte heller? ... dessutom skall du akta dig för att öppna en databasanslutning så där generellt.include
Har följande kod i min sida:
<code>
<% Option Explicit %>
<!--#include virtual="adovbs.inc"-->
<!--#include file="connect.asp" -->
<html>
<head>
<link rel="stylesheet" href="stylesheet.css">
<title>
</title>
</head>
<body topmargin="0" leftmargin="0">
<%
SQL = "SELECT * FROM KUNDREGISTER"
Set RS = Conn.Execute(SQL)
Do Until RS.EOF Response.Write RS("DE_NAMN1") & "<br>"
RS.MoveNext
Loop
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
%>
</body>
</html>
</code>
I include filen connect.asp ser det ut så här
<code>
<% Option Explicit %>
<!--include virtual="adovbs.inc"-->
<%
Dim Conn, RS, SQL
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "testdatabas", "SYSDBA", "masterkey"
%>
</code>
Nu till problemet jag får ett felmeddelande om Expected statement på line 1 i connect.asp, men kopierar jag in koden från connect.asp i den andra filen så får jag ut informationen från databasen. Vad är fel för jag ser då ingenting.
Tackar på förhand!!Sv: include
Resultatet av en include är ASP tolkar dem som en fil när de kompileras.
/TommySv: include
Sv: include
Jag rekommenderar att du istället skriver en funktion i include-filen som returnerar Recordset-objektet, ungefär så här (lite rostig så räkna med att det finns fel.):
<code>
Function GetRecordset(strSQL)
Dim cn, cmd, rs
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "testdatabas", "SYSDBA", "masterkey"
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = cn
cmd.CommandType = adCommandText
Set rs = CreateObject("ADODB.Recordset")
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.LockType = adBatchOptimistic
Set rs = cmd.Execute(strSQL)
Set rs.ActiveConnection = Nothing
Set cmd = Nothing
cn.Close
Set cn = Nothing
Set GetRecordset = rs
End Function
</code>
Det jag (försöker) göra är att skapa ett disconnected recordset, databasanslutningen stängs och frigörs direkt efter datat är hämtat .
/Tommy