/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Udtræk af poster via bits i felter
Fra : Christian Estrup


Dato : 28-12-00 21:44

Hejsa,

Jeg prøver 'desperat' at trække nogle poster ud af en Access-db, valgt ud
fra enkelte bits i et felt.

Det kunne 'for eksempel' være en tabel med nyheder, hvor et felts bits
angiver kategorier for den enkelte nyhed - og hvor brugeren så har valgt kun
at se nyheder fra visse kategorier. Jeg vil så trække alle poster ud, hvor
mindst én bit (=kategori) matcher.

(Når jeg har valgt denne løsning frem for den klassiske 'textbook-løsning'
med 1 tabel til nyheder, 1 til kategorier og 1 til 'nyhedskategori-par'
(pga. mange-til-mange-relationen), er det fordi, jeg _ved_, at der aldrig
vil være flere kategorier end antal bits i et Long, og bit-løsningen derfor
IMO er lettere)

Jeg vil altså have noget i retning af:

conn.execute ("SELECT * FROM tNews WHERE (tNews.iCategories AND " &
iUserNewsMask & ")>0")

- men dét er Access-driveren ikke meget for. Har også prøvet '&' og '&&' i
stedet for 'AND', uden helt. Kan det simpelthen ikke lade sig gøre med
Access-db'er?

Jeg skal på et senere tidspunkt opgradere db'en til MSSQL7 - vil det kunne
lade sig gøre dér?

- Christian Estrup



 
 
Lauritz Jensen (28-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 28-12-00 13:32

Christian Estrup wrote:
>
> Det kunne 'for eksempel' være en tabel med nyheder, hvor et felts bits
> angiver kategorier for den enkelte nyhed - og hvor brugeren så har valgt kun
> at se nyheder fra visse kategorier. Jeg vil så trække alle poster ud, hvor
> mindst én bit (=kategori) matcher.

Det kan du TTBOMK ikke (har lige kigget access funktionerne igennem).
Men det virker også ret misforstået at bruge en access-base (eller noget
RDBMS) på den måde: Den har jo ingen mulighed for at benytte nogen
indexer, så du skal ikke forvente at det kommer til at køre særlig
hurtig (du ligefrem tvinger den ud i et full-table-scan, smart). (det
samme gælder for mssql7, men den har dog operatorene)
Lad databasen gøre det den er god til og lav en mange-til-mange.

--
Lauritz

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste