Det är bara att öppna din databaskoppling en gång, och inte stänga den förrän du är klar (dvs sist i filen).
mvh
7 svar · 296 visningar · startad av Nicklas
Hej.
Är det någon som vet hur/om det går att lösa så att man inte behöver anroppa och stänga databasen 4 ggr?
Jag har försökt med att göra en IF-sats men det lyckades ju inte :stud
Tack på förhand.
<%@ LANGUAGE="VBSCRIPT" %>
<%
set Databas = Server.CreateObject("ADODB.Connection")
session("dbloggbok") = "provider=SQLOLEDB ;Data source=BHSN43;Initial Catalog=mediainfo;user id=mmuser; password=mmuser"
Databas.Open session("dbloggbok")
lnklogid = Request.Querystring("logid")
'kollar alltid maxid, man kan bara redigera maxid
strSQLMaxID = "SELECT MAX(LogID)AS MaxId FROM Loggbok"
set rsMaxid = Databas.Execute (strSQLMaxid)
strmaxid = rsMaxid("MaxId")
if len(lnklogid) > 0 then
strSQL = "SELECT * FROM Loggbok WHERE LogID = " & lnklogid
else
strSQL = "SELECT * FROM Loggbok WHERE LogID = " & strmaxid
end if
function mydateformat(str)
if len(month(str))< 2 then
strmonth = "-0" & month(str)
else
strmonth = "-" & month(str)
end if
if len(day(str))< 2 then
strday = "-0" & day(str)
else
strday = "-" & day(str)
end if
mydateformat = year(str) & strmonth & strday & " " & formatdatetime(str,vbshorttime)
end function
set rs = Databas.Execute (strSQL)
strlogid = rs("LogID")
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 5.0">
<LINK rel="stylesheet" type="text/css" href="css/mmLoggbok.css">
<TITLE></TITLE>
</HEAD>
<BODY>
<%=mydateformat(rs("Datum"))%>
<%=mydateformat(rs("Datum"))%> Skiftlag <%=rs("Skiftlag")%>
<%if strlogid <> strmaxid then %>
<%else%>
<A HREF="loggbokdetalj.asp?anm=<%=rs("LogID")%>&sort=Steam" title="Klicka för att redigera Ånga">Ånga</A>
<%end if%>
<%=rs("Steam")%>
<%if strlogid <> strmaxid then %>
<%else%>
<A HREF="loggbokdetalj.asp?anm=<%=rs("LogID")%>&sort=AirWater" title="Klicka för att redigera Luft/Vatten">Luft/vatten</A>
<%end if%>
<%=rs("AirWater")%>
<%if strlogid <> strmaxid then %>
<%else%>
<A HREF="loggbokdetalj.asp?anm=<%=rs("LogID")%>&sort=Env" title="Klicka för att redigera miljö">Miljö</A>
<%end if%>
<%=rs("Env")%>
<%if strlogid <> strmaxid then %>
<%else%>
<A HREF="loggbokdetalj.asp?anm=<%=rs("LogID")%>&sort=Hg" title="Klicka för att redigera CRV">CRV</A>
<%end if%>
<%=rs("Hg")%>
<%if strlogid <> strmaxid then %>
<%else%>
<A HREF="loggbokdetalj.asp?anm=<%=rs("LogID")%>&sort=Earth" title="Klicka för att redigera Jordreningen">Jordreningen</A>
<%end if%>
<%=rs("Earth")%>
<%if strlogid <> strmaxid then %>
<%else%>
<A HREF="loggbokdetalj.asp?anm=<%=rs("LogID")%>&sort=Other" title="Klicka för att redigera Övrigt">Övrigt</A>
<%end if%>
<%=rs("Other")%>
<%
rsMaxid.close
rs.close
databas.Close
%>
<%
set Databas = Server.CreateObject("ADODB.Connection")
session("dbloggbok") = "provider=SQLOLEDB ;Data source=BHSN43;Initial Catalog=mediainfo;user id=mmuser; password=mmuser"
Databas.Open session("dbloggbok")
strSQL = "SELECT * FROM WhiteBoard WHERE wbID = 1"
set rs = Databas.Execute(strSQL)
%>
<%=rs("wbtext")%>
<%
rs.close
databas.Close
%>
<%
set Databas = Server.CreateObject("ADODB.Connection")
session("dbloggbok") = "provider=SQLOLEDB ;Data source=BHSN43;Initial Catalog=mediainfo;user id=mmuser; password=mmuser"
Databas.Open session("dbloggbok")
strSQL = "SELECT * FROM Lasse WHERE laID = 1"
set rs = Databas.Execute(strSQL)
%>
<%=rs("latext")%>
<%
rs.close
databas.Close
%>
<%
set Databas = Server.CreateObject("ADODB.Connection")
session("dbloggbok") = "provider=SQLOLEDB ;Data source=BHSN43;Initial Catalog=mediainfo;user id=mmuser; password=mmuser"
Databas.Open session("dbloggbok")
strSQL = "SELECT * FROM Bengt WHERE beID = 1"
set rs = Databas.Execute(strSQL)
%>
<%=rs("betext")%>
<%
rs.close
databas.Close
%>
</BODY>
Det är bara att öppna din databaskoppling en gång, och inte stänga den förrän du är klar (dvs sist i filen).
mvh
Tack @nders, Jag får det ändå inte att fungera.
Det är dessa rader som jag inte vet hur jag ska inkludera i koden.
strSQL = "SELECT * FROM Bengt WHERE beID = 1"
strSQL = "SELECT * FROM WhiteBoard WHERE wbID = 1"
strSQL = "SELECT * FROM Lasse WHERE laID = 1"
Hmm... Vad innehåller dina tabeller? Borde inte all data ligga i samma tabell?
Det är som du säger att jag har data i olika tabeller, jag kanske ska tänka om och lägga allt i en och samma tabell?
Går det att lösa ändå?
Följande saker förstår jag inte:
Varför du har "liknande" / "samma sorts" data i flera tabeller. Lägg ihop det till en tabell.
Varför du skapar en session med din connectionstring inför varje databasöppning.
Varför du har massor av if-satser med samma villkor, där bara else-delen utför något.
Om jag vore du skulle jag:
Edit: Jo, det går att lösa ändå, men jag föredrar att problem löses på rätt sätt. :)
mvh
Tack @nders, självklart ska det lösas på rätt sätt. Jag ska försöka rensa upp och lägga allt i en o samma tabell.
Börja att rensa och försök bygga om lite, så är det bara att återkomma om du behöver mer hjälp. Jag hoppas du fått lite hjälp på vägen av mig i alla fall.
Lycka till! :)