Just nu i M3-nätverket
Jump to content

Genomsökning i databasen


Christoph

Recommended Posts

Hej,

 

jag skriver just nu ihop ett ASP-script för att schemalägga personalens arbetstider. Personalens nummer, StartDatumOchTid samt StopDatumOchTid sparas i en MS SQL 2000-databas.

 

Problemet jag har nu är att det tar alldeles för länge att visa schemat. Detta antagligen för att det blir så krånglig att genomsöka databasen enl. följande:

 

Loopa genom alla anställda från databasen
  Loopa genom alla dagar (ex. november: 2004-11-01 t.o.m. 2004-11-30)
    Kolla om det finns ett inlägg i Schema-tabellen för denna person i denna datum ([color="#0000ff"]SELECT[/color] [color="#0000ff"]FROM[/color] Schema [color="#0000ff"]WHERE[/color] PersonalNr=123 [color="#0000ff"]AND[/color] StartDatumOchTid=2004-11-01)
    Skriv ut det isåfall, annars skriv ut "-"
  Nästa datum
Nästa inlägg i Personal-tabellen

 

Det innebär alltså att jag, när jag har 60 anställda, måste söka efter ett inlägg 60*30 ggr, en för varje dag. Det tar säkert 2-3 minuter för att få fram detta.

 

Någon som vet hur man kan piffa upp detta?

 

Hälsningar,

 

Christoph

 

Link to comment
Share on other sites

Så här kan man få allting i en fråga så man slipper anropa databasen en gång per anställd och dag:

[color="#0000ff"]SELECT[/color] PersonalNr, StartDatumOchTid, MedMera [color="#0000ff"]FROM[/color] Schema [color="#0000ff"]WHERE[/color] StartDatumOchTid [color="#0000ff"]BETWEEN[/color] [color="#ff0000"]'2004-11-01'[/color] [color="#0000ff"]AND[/color] [color="#ff0000"]'2004-11-30'[/color] [color="#0000ff"]ORDER BY[/color] PersonalNr, StartDatumOchTid

 

Det behövs fortfarande en loop men nu behöver du bara kolla om PersonalNr ändrats från föregående post.

 

mvh

Olle

 

Link to comment
Share on other sites

Hejsan,

 

tack för svaret. Jag förstår nog din tanke med detta, men kan inte komma på hur jag kan använda detta i praktiken. Resultatet med din query är att lista upp alla schemainlägg, såvida det finns något inlaggd i databasen. Jag undrar om inte detta är ett fall för ASP-forumet, men hör gärna av dig med mer information om hur jag bär mig åt för att lösa detta. Tack!

 

Hälsningar,

 

Christoph

 

Link to comment
Share on other sites

Hej,

 

jag får ju i vilket fall som en lista med resultat om alla valda schemainlägg. Hur gör jag sedan i ASP att visa dem på rätt ställe?

 

Hälsningar,

 

Christoph

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...