webForumDet fria alternativet

Hur?

ASPur ASP

11 svar · 149 visningar · startad av dahlgren

Medlem sedan aug. 20011 946 inlägg
Frågan#1

Jag har massa bilder med bildertexter som ligger i en databas. Albumen väljs ut genom värdet i kolumnen album. Nu är det så att jag vill ha en gemensam text för alla bilder som heter tex jul. Hur gör jag det på bästa sätt?

------------------
/Dahlgren

"Det finns saker som man måste vara fackman för att inte förstå"

Medlem sedan dec. 200012 464 inlägg
#2

Du lagrar beskrivningen i en separat tabell.

album
-----
id!titel!beskrivningsid

besrivningar
------
id!beskrivning

Då du vill ha beskrivningen och övrig info för ett album :

select a.*,b.beskrivnig 
  from album as a inner join beskrivningar as b
  on a.beskrivningsid = b.id
 where a.titel = 'Jul'

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 20011 946 inlägg
#3

För står inte riktigt vad som är vad i din kod. så här ser tabbellerna ut:

Album
-namn
-bild
-osv

Albumtext
-namn
-albumtext

Namnen är samma i båda tabellerna.

------------------
/Dahlgren

"Det finns saker som man måste vara fackman för att inte förstå"

Medlem sedan dec. 200012 464 inlägg
#4

Då har du samma lösning som jag. Så vad är problemet?

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 20011 946 inlägg
#5

Hur jag ändrar koden så att den passar mina tabeller.

------------------
/Dahlgren

"Det finns saker som man måste vara fackman för att inte förstå"

Medlem sedan dec. 200012 464 inlägg
#6

Oki doki.

select a.*,at.albumtext
from album as a inner join albumtext as at
on a.namn = b.namn
where a.namn = 'Jul'

t.ex.

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 20011 946 inlägg
#7

Då får jag upp dettta felmedelande:
Kompileringsfel i Microsoft VBScript fel '800a03ea'

Syntaxfel

/fotoalbum/album.asp, rad 13

SQL=select a.*,at.albumtext
----^

------------------
/Dahlgren

"Det finns saker som man måste vara fackman för att inte förstå"

Medlem sedan dec. 200012 464 inlägg
#8

Du har glömt strängavgränsare.

sql = "select a.*,at.albumtext from album as a inner join albumtext as at on a.namn = b.namn where a.namn = 'Jul'"

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 20011 946 inlägg
#9

Då får jag detta felmedelande.
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in JOIN operation.

/fotoalbum/album.asp, rad 15

------------------
/Dahlgren

"Det finns saker som man måste vara fackman för att inte förstå"

Medlem sedan dec. 200012 464 inlägg
#10

Såg ett fel i min select-sats

sql = "select a.*,at.albumtext from album as a inner join albumtext as at on a.namn = [b]at[/b].namn where a.namn = 'Jul'"

Hur ser din kod ut just nu?

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 20011 946 inlägg
#11

Nu kom det ett nytt felmedleande
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Cannot join on Memo, OLE, or Hyperlink Object (at.namn=a.namn).

/fotoalbum/album.asp, rad 14

------------------
/Dahlgren

"Det finns saker som man måste vara fackman för att inte förstå"

Medlem sedan dec. 200012 464 inlägg
#12

Du kan byta datatyp på namnfälten och använda varchar(30) (eller vilken maxlängd du vill ha, upp till 255 går bra). Memo är avsett för stora textmassor.

------------------
essentitia preter non sans multiplicandum

136 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)