webForumDet fria alternativet

Ta fram värden ur flera db

ASP

15 svar · 257 visningar · startad av Pudolf

Medlem sedan juli 2000221 inlägg
Frågan#1

Hejsan.

jag vet hur man sorterar fram de fem senaste posterna från en databas.

Men nu vill jag sortera fram de 5 senaste postera ur 3 databaser.

(db1, db2 och db3)

tacksam för svar!

och en sak till! om jag vill ta fram posterna 10-20 ur en databas, kan jag då skriva:

Select * FROM MinTabell limit 10, 10

tacksam för svar!

Medlem sedan dec. 19991 072 inlägg
#2

hur menar du med "sortera fram"?
om du ska sortera efter olika kolumner i olika tabeller skriver du:
"...ORDER BY db1.kolumn, db2.kolumn, db3.kolumn"

du kan inte ta fram posterna 10-20 på det sättet, använd istället:

SELECT * FROM minTabell WHERE talet BETWEEN 10 AND 20

------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
www.streetwise.se/fredrik/

Medlem sedan juni 200032 967 inlägg
#3

pudolf, menar du verkligen tre databaser?

varför inte bara olika tabeller i samma databas?

------------------
@nders

Medlem sedan juli 2000221 inlägg
#4

tack fredrik och @nders för svar.

är det bättre att ha en enda stor databas än flera, 5st typ små?

just nu har jag många små. men jag testar bara aspkoder. har ingen sida än.

så om det är bättre att ha en stor, säg gärna det! Så kan jag ändra.

Går det annars att ta fram, som jag skrev ovan, de 5 senaste posterna ur 3 databaser?

sortera efter ex. datum. så måste man ju ha tre connetions. och sedan någon klurig kod.

tacksam för svar!

Medlem sedan juni 2000144 inlägg
#5

Jag skulle nog hellre göra en stor databas med fler tabeller istället, sen binda ihop dom med relationer om det går. Klart effektivare.

Medlem sedan juli 2000221 inlägg
#6

okay. för annars har jag bara 2 tabeller i varje databas. Och ca 500 poster i den ena, kanske 50-100 i de 3 andra tillsammans.

hur snabbt växer en databas?

tacksam för svar.

Medlem sedan maj 200067 inlägg
#7

Om datan du lagrar i dina databaser hör ihop på något sätt är det alltid en fördel att lägga den i olika tabeller i en och samma databas.

Om datan inte hör ihop med varandra och du inte tror dig behöva samanställa den vid något tillfälle kan du lägga den i olika databaser.

Om du arbetar med Access, som inte har speciellt bra prestanda vad gäller antal samtidiga användare kan det dock vara bra att kunna "sprida ut" antalet träffar på flera databaser!

En avvägningsfråga alltså.

Mvh Razor

Medlem sedan juli 2000221 inlägg
#8

jag kör med access 97.
från mina 5 mdb-filer här de inte ihop med varandra. varje db har 2 tabeller.

en med info om produkt, den andra med bilder.

så ser alla databaserna ut. fast inom olika informationsområden.

Så, några fler som tycker jag bör skapa en stor Databas, eller ska jag ha kvar min små?

Medlem sedan juni 200032 967 inlägg
#9

yes, en databas.

------------------
@nders

Medlem sedan juli 2000221 inlägg
#10

finns det någon gräns för hur många som kan "vara inne" i databasen åt gången?

hur många som kan kolla infon, hämtad från db'n.

:q

Medlem sedan maj 200067 inlägg
#11

I fallet Access tror jag det rör sig om max 10 st samtidiga accesser. Alltså 10 st som "läser" från databasen samtidigt.

Mvh Razor

Medlem sedan jan. 2000640 inlägg
#12

Hm, en liten fråga då, om det är säg, 14 personer som försöker använda databasen samtidigt, kommer 10 in och dom andra ställs på kö eler får man ett felmeddelande?

------------------
/Nils Wikberg
-"To bad you didn't count on my loyal army of prostitutes"

Medlem sedan maj 200067 inlägg
#13

Jag tror den elfte kommer att få ett felmeddelande. Jag har faktiskt inte varit ute för det själv någon gång.

Mvh Razor

[Redigerat av Razor den 14 jul 2000]

Medlem sedan maj 2000107 inlägg
#14

Använd OLE DB provider.
Förutom att det går snabbare så ska inte detta vara ett lika stort problem.

Fast jag har inte läst det någonstans.
Det var bara någon som sa det i någon tråd. ("Vad är skillnaden mellan ODBC och OLE DB?" tror jag det var). Så det är inget jag kan garantera, att fler kan ha access till databasen dvs. Snabbare går det iaf.

------------------
/Magnus aka Zaphod
www.designmodule.com.bi

Medlem sedan juli 2000221 inlägg
#15

jag håller nu på att testa om det är smidigare med en stor istället för flera små.

hursomhelst.
vissa namn på kolumner förekommer i flera tabeller. är det dåligt. bör jag ändra namn?

ex: rubrik, förekommer som klumnnamn i 4 av min 5 tabeller.

får felmeddelandet

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 

[Microsoft][ODBC Microsoft Access Driver] The specified field 'rubrik' could refer to more than one table listed in the FROM clause of your SQL statement. 

/default.asp, line 187

Och. Är detta korrekt skrivet?

SQL = "SELECT namn, rubrik, datum, tid, vem FROM Bilar, Bussar WHERE datum = #"&date&"# ORDER BY tid Desc "

tacksam för svar!

Medlem sedan maj 2000107 inlägg
#16

Det står ju där. In plajn änglish:
"The specified field 'rubrik' could refer to more than one table listed in the FROM clause of your SQL statement."

Vilket betyder att rubrik finns som ett fält i båda dina tabeller, och ADO vet inte från vilken tabell det ska ta värdet. Alltså så får du specifiera. Tex:

SQL = "SELECT namn, bilar.rubrik AS bildRub, bussar.rubrik AS bussRub datum, tid, vem FROM Bilar, Bussar WHERE datum = #"&date&"# ORDER BY tid Desc "

Sedan är det bara att referara till dem som som bulRub respektive bussRub.

Kanon enkelt. ;)

------------------
/Magnus aka Zaphod
www.designmodule.com.bi

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)