Håller på med att försöka få ut ett speciellt namn ur en databas tabell.
inlagg= "SELECT Namn,Datum,icq,Epost,sida,Ort,Meddelande FROM gbok WHERE id=id ORDER BY datum DESC"
Set inlagg= Connect.Execute(inlagg)
som jag förstår det så är det alltså WHERE id=id som ska ändras. Men hur gö jag det?
Det ska ändras till Namn="webmaster"
Men jag får det inte att fungera! :(
Nä, det spelar ingen roll att han återanvänder variabeln till att använda som ett objekt... så länge han inte försöker hämta den gammla variabeln efteråt... :)
Feltyp:
Provider (0x80004005)
Odefinierat fel
/gbok/test.asp, line 15
Webbläsare:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Sida:
GET /gbok/test.asp
Här är hela sidan (inte designad för tillfället):
<%@ Language=VBScript %>
<%
Option Explicit
'Deklarerar databas variabler
Dim Connect, conntemp, DSNtemp
'Deklarerar övriga variabler
Dim inlagg
' Här skapar vi en dsn-less connection mot gbok
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("gbok.mdb")
Connect.Open DSNtemp
%>
<html>
<head>
<title>.:the snakepit:.</title>
</head>
<body leftmargin="0" topmargin="0">
<blockquote><br>
Den här sidan genererades <%=date%> klockan <%=time%>
<p>Previous messages:
<%
'Ta ut alla inlägg och sortera dom efter datum
inlagg= "SELECT Namn,Datum,icq,Epost,sida,Ort,Meddelande FROM gbok WHERE Namn='webmaster' ORDER BY datum DESC"
Set inlagg= Connect.Execute(inlagg)
'Skriv ut alla inlägg
Do until inlagg.EOF
%>
<p>
<hr align=left width=200>
Namn: <%=inlagg("Namn")%><br>
<!-- <%=inlagg("Datum")%><br> -->
E-post: <a href="mailto:<%=inlagg("Epost")%>"><%=inlagg("epost")%></a><br>
ICQ: <%=inlagg("icq")%><br>
Ort: <%=inlagg("Ort")%><br>
<a href="<%=inlagg("sida")%>" target="_blank"><%=inlagg("sida")%></a><br>
Meddelande: <%=inlagg("Meddelande")%><br>
<%inlagg.MoveNext
Loop
%>
<p> </p>
<!--Här börjar inläggen -->
<h5> </h5>
</body>
</html>
<%
'Vid stänger databasen
Connect.close
set Connect=nothing
%>
Behövs det ngt mer?
Vad som är så konstigt är att det ibland kan fungera, men tyvärr så fungerar det oftast inte! :(
Set Connect = Server.CreateObject("ADODB.Connection")
With Connect
.Provider = "Microsoft.Jet.4.0"
.ConnectionString = "Data Source=" & Server.MapPath("/gbok.mdb")
.Open
End With
Denna Provider följer med i de nyare versionerna av mdac om jag inte missminner mig, så servern bör vara uppgraderad med de senaste mdac, ado och VB Script Engine versionerna för att allt ska kunna fungera med koden ovan.
DDu kan även prova med att ändra 4.0 till 3.51 (olika versioner av OLEDB.Jet)
Feltyp:
ADODB.Connection (0x800A0E7A)
Det gick inte att hitta den angivna providern. Den kanske inte är ordentligt installerad.
/gbok/test.asp, line 16
La in det så här (kan ju hända att jag gjort fel :)):
<%@ Language=VBScript %>
<%
Option Explicit
'Deklarerar databas variabler
Dim Connect, conntemp, Provider, ConnectionString
'Deklarerar övriga variabler
Dim inlagg
' Här skapar vi en dsn-less connection mot gbok
Set Connect = Server.CreateObject("ADODB.Connection")
With Connect
.Provider = "Microsoft.Jet.4.0"
.ConnectionString = "Data Source=" & Server.MapPath("/gbok.mdb")
.Open
End With
%>
Set Connect = Server.CreateObject("ADODB.Connection")
With Connect
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Server.MapPath("/gbok.mdb")
.Open
End With
Funkar inte!
Men detta funkar:
Set Connect = Server.CreateObject("ADODB.Connection")
With Connect
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Server.MapPath("gbok.mdb")
.Open
End With
Var tvungen att ta bort "/" från sökvägen till databasen!
Men trycker jag på reload knappen för jag följande felmeddelande:
Feltyp:
Microsoft JET Database Engine (0x80004005)
Det går inte att använda ''. Filen används redan.
/gbok/test.asp, line 16
Vad beror detta på? Placerar jag markören i adressfältet och trycker enter funkar det! Mkt konstigt! Kan ju vara Microsoft...för det funkar ibland!
Kan du gå in och kolla på forumet SQL.
Har ett inlägg där som heter "Klickbar SELECT?"