Jag vill bara hämta en bild som ska presenteras till respekive Rubrik. SELECT TOP 1 imageblob from nyhetsbild Where newsid = 22 Nix funkar inte eftersom jag ska hämta de 5 senaste nyheterna!?!?!? Så här blev lösningen.... kanske kan det även hjälpa någon annan! Testade denna men får fel meddelande då är det för du försöka använda ett fältnamn som inte finns i databasen Sorry. Glömde att namnge underfrågan: det löste sig Något lustigt hände! Rätt som det var så kom inga nyheter längre utan endast en vitHämta endast 1 bild av 4 i en SQL databas?
Någon som har förslag på hur man löser detta då jag kört fast??
fileNyhet_download.asp är den filen som hämtar bilden (bilderna)
Här hämtas de 5 senaste nyheterna (glömde... har nu uppdaterat med "SQL" i denna fråga.
SQL = "SELECT TOP 5 * FROM Nyheter LEFT JOIN NyhetsBild on Nyheter.Id = NyhetsBild.NewsID "
rs.Open SQL, Connect, 2, 3
Count = 0
Do While Not rs.EOF
id = rs("id")
If not rs("Newsid") = ""&id&"" Then
bild = "<img src=""fileNyhet_download.asp?id=" & rs("IdImg") & """ width='60'>"
Else
bild = "****INGEN BILD Ett exempel****"
End If
Response.Write rs("Rubrik")
Response.Write "<br>"
Response.Write ""& bild &""
Response.Write left(uCase(rs("TEXT")), 50)
Response.Write "....."
Response.Write "<br>"
rs.MoveNext
Count = Count + 1
Loop
Response.Write "<P>Total files in the database: " & Count
-----------------------------------------------------------------------------------------------------------
Ett ex. på hur det kan se ut i databasen
Tabell Nyheter
ID | Datum | Rubrik | Text |
22
23
24
25
26
Tabell NyhetsBild
IdImg | image_blob | FileName | FileSize | NewsId | NewsID är ID från tabell Nyheter
10 22
11 22
12 22
13 22 nyhet 22 har 4 st bilder till texten
14 24
15 24 nyhet 24 har 2 st bilder till texten
16 25
17 25
18 25 Sv: Hämta endast 1 bild av 4 i en SQL databas?
Sv:Hämta endast 1 bild av 4 i en SQL databas?
Så här ser det ut idag
SQL = "SELECT TOP 5 * FROM Nyheter LEFT JOIN NyhetsBild on Nyheter.Id = NyhetsBild.NewsID "
rs.Open SQL, Connect, 2, 3
Sen kommer
Count = 0
Do While Not rs.EOF
id = rs("id")
If not rs("Newsid") = ""&id&"" Then.......................... OSV se första frågan!Sv: Hämta endast 1 bild av 4 i en SQL databas?
SQL = "SELECT DISTINCT TOP 3 Nyhetsbild.NewsID, Nyheter.id, Nyheter.Datum, Nyheter.rubrik, Nyheter.Text, Nyheter.Kalla FROM NyhetsBild RIGHT JOIN Nyheter on Nyheter.Id = NyhetsBild.NewsID ORDER BY ID DESC"
rs.Open SQL, Connect, 2, 3
Sen kommer
<%
Count = 0
Do While Not rs.EOF
id = rs("ID")
If Not rs("Newsid") = ""&id&"" Then
bild = "<img src=""../inc/fileNyhet_download.asp?id=" & rs("NewsID") & """ border='0' width='200'>"
Else
bild = ""
End If
%>
<h3><% = rs("Rubrik") %></h3>
<%
Response.Write ""
Response.Write ""& bild &""
Response.Write ""
Response.Write left(rs("TEXT"), 275)
Response.Write "..... <br />"
Response.Write ""
Response.Write " Läs hela artikeln!"
Response.Write "<BR><BR>"
Response.Write "Källa: " %><% = rs("Kalla") %> | <% = rs("Datum") %>
<hr width="440" size="1" noshade="noshade" color="#CCCCCC" />
<%
rs.MoveNext
Count = Count + 1
Loop
:) Sv: Hämta endast 1 bild av 4 i en SQL databas?
SQL = "SELECT TOP 5 Nyheter.*, (SELECT TOP 1 IdImg" & vbCrLf & _
" FROM NyhetsBild" & vbCrLf & _
" WHERE NyhetsBild.NewsID = Nyheter.Id)" & vbCrLf & _
"FROM Nyheter" & vbCrLf & _
"ORDER BY Nyheter.Datum DESC, Nyheter.ID DESC" & vbCrLf
rs.Open SQL, Connect
Count = 0
Do Until rs.EOF
If IsNumeric(rs("IdImg")) Then
bild = "<img src=""fileNyhet_download.asp?id=" & rs("IdImg") & """ width='60'>"
Else
bild = "****INGEN BILD Ett exempel****"
End If
Response.Write rs("Rubrik")
Response.Write "<br>"
Response.Write ""& bild &""
Response.Write left(uCase(rs("TEXT")), 50)
Response.Write "....."
Response.Write "<br>"
rs.MoveNext
Count = Count + 1
Loop
Sv:Hämta endast 1 bild av 4 i en SQL databas?
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/motornytt/inc/file_Nyhet.asp, line 28
se vid markering ****
SQL = "SELECT TOP 5 Nyheter.*, (SELECT TOP 1 IdImg" & vbCrLf & _
" FROM NyhetsBild" & vbCrLf & _
" WHERE NyhetsBild.NewsID = Nyheter.Id)" & vbCrLf & _
"FROM Nyheter" & vbCrLf & _
"ORDER BY Nyheter.Datum DESC, Nyheter.ID DESC" & vbCrLf
rs.Open SQL, Connect
Count = 0
Do Until rs.EOF
**** If IsNumeric(rs("IdImg")) Then
bild = "<img src=""fileNyhet_download.asp?id=" & rs("IdImg") & """ width='60'>"
Else
bild = "****INGEN BILD Ett exempel****"
End If
Response.Write rs("Rubrik")
Response.Write "<br>"
Response.Write ""& bild &""
Response.Write left(uCase(rs("TEXT")), 50)
Response.Write "....."
Response.Write "<br>"
rs.MoveNext
Count = Count + 1
LoopSv: Hämta endast 1 bild av 4 i en SQL databas?
Sv: Hämta endast 1 bild av 4 i en SQL databas?
SQL = "SELECT TOP 5 Nyheter.*, (SELECT TOP 1 IdImg" & vbCrLf & _
" FROM NyhetsBild" & vbCrLf & _
" WHERE NyhetsBild.NewsID = Nyheter.Id) AS IdImg" & vbCrLf & _
"FROM Nyheter" & vbCrLf & _
"ORDER BY Nyheter.Datum DESC, Nyheter.ID DESC" & vbCrLf
Sv: Hämta endast 1 bild av 4 i en SQL databas?
ändrade från IdImg till rs("id") vad säger man hoppsan :)
If not IsNumeric(rs("IdImg")) Then
bild = "<img src=""../motornytt/inc/fileNyhet_download.asp?id=" & rs("id") & """ alt='MotorNytt' border='0' width='200'>"
Else
bild = ""
End IfSv:Hämta endast 1 bild av 4 i en SQL databas?
sida där nyheterna skulle vara. Inga felmeddelanden visades.
Vad beror detta på och vad gör vbCrLf för något i detta sammanhang???
Set Connect = CreateObject("ADODB.Connection")
Connect = "Provider=SQLOLEDB; Data Source=enserver; Initial Catalog=endatabas; User Id=xxx; Password=xxxxxx"
Set rs = Server.CreateObject("adodb.recordset")
SQL = "SELECT TOP 5 Nyheter.*, (SELECT TOP 1 IdImg" & vbCrLf & _
" FROM NyhetsBild" & vbCrLf & _
" WHERE NyhetsBild.NewsID = Nyheter.Id) AS IdImg" & vbCrLf & _
"FROM Nyheter" & vbCrLf & _
"ORDER BY Nyheter.Datum DESC, Nyheter.ID DESC" & vbCrLf
rs.Open SQL, Connect, 2, 3
******** När jag ändrade till nedanstående funkar det igen!?
SQL = "SELECT TOP 4 Nyheter.*, (SELECT TOP 1 NewsId FROM NyhetsBild WHERE NyhetsBild.NewsID = Nyheter.Id) AS NewsID FROM Nyheter ORDER BY Nyheter.DatumPub DESC, Nyheter.ID DESC"
rs.Open SQL, Connect, 2, 3