Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


slå ihop söksträngar?

Postades av 2003-09-27 10:58:02 - Nina Ringbom, i forum asp - allmänt, Tråden har 7 Kommentarer och lästs av 840 personer

Hej
Går det att slå ihop 2 eller 3 söksträngar?
Jag har en som heter så här:
strSQL = "SELECT fornamn, efternamn, titel, gard, info FROM gamleby WHERE fornamn LIKE '" & Request.QueryString("bokstav") & "%' order by fornamn, efternamn, gard asc"

men om det tex inte finns någon förnamn på tex T i "fornamn" så skall det finnas en sträng som säger "leta i fornamn2 istället" och se om det finns något förnamn som börjar på T där.!
Har en access-databas där jag har 3 kolumner som heter fornamn, fornamn2, fornamn3.
Jag är dålig på att förklara men hoppas någon förstår ändå :-)

mvh Nina


Svara

Sv: slå ihop söksträngar?

Postades av 2003-09-27 11:08:17 - Roland Ringhede

Alltid när man får problem med att få till SQL frågor så att man kan nå informationen på ett bra sätt skall man frågasätta om man har byggt upp databasen på rätt sätt.

Vad jag kan förstå av din fråga så vill du leta i flera fält med förnamn

Alltså fornamn, fornamn2 o.s.v.

Om man bygger upp tabellen på så sätt byggar man även in begränsningar.
Tex om man har två fält och det sedan kommer någon med 4 eller fler förnamn
så spricker designen.
Bättre är då att ha en egen tabell med fornnamn och kan då få nästan oändligt många namn.
Sökningarna blir även mycket lättare att genomföra.

Vanligt är sådant för t.ex. en artikeltabell där man önskar ha benämning på ett antal språk och ej bör ha Benamnning_sve, Benamning_Eng osv spricker lätt tex om man sedan vill ha dit fler språk.


Svara

Sv: slå ihop söksträngar?

Postades av 2003-09-27 11:19:00 - Peter Holm

<code>
strSQL = "SELECT fornamn, fornamn2, fornamn3, efternamn, titel, gard, info FROM gamleby WHERE fornamn LIKE '" & Request.QueryString("bokstav") & "%' OR fornamn2 LIKE '" & Request.QueryString("bokstav") & "%' OR fornamn3 LIKE '" & Request.QueryString("bokstav") & "%' order by fornamn, efternamn, gard asc"
</code>
Med denna sql-sträng letar du i alla tre kolumnerna oavsett om du hittar något i första kolumnen eller inte. Ett enkelt alternativ men kanse inte det du söker...


Svara

Sv: slå ihop söksträngar?

Postades av 2003-09-27 12:01:55 - Roland Ringhede

Inte speciellt enkelt men funkar nog för enstaka sökningar. Sökningar med hög frekvens kommer ta onödig kraft ur servern för databasen. Tänk på riktig normalisering Nina, speciellt om databasen är till ditt jobb.


Svara

Sv: slå ihop söksträngar?

Postades av 2003-09-27 15:15:58 - Nina Ringbom

Roland!
Jag har precis skapat min databas och har endast skrivit in 8 st personer. Det är till min släktforskning som jag har på min hemsida. Jag vill helst bara ha en kolumn med förnamn för det blir snabbare och enklare när jag registrerar husförhörslängderna.
Jag trodde att det var bättre med flera förnamnskolumner, men om det är bättre att bara ha en så blir jag glad.
Kan du ge ett exempel på hur strängen då skall se ut?

mvh Nina


Svara

Sv: slå ihop söksträngar?

Postades av 2003-09-29 14:25:00 - Johan Microsoft

Hej Nina!

Efter att du har beskrivit scenariot lite mer tycker jag spontant att det verkar ganska vettigt med fler förnamnskollumner om det nu är en liten, privat lösning. Men det kan bli strul när det dyker upp någon med en herrans massa förnamn. (Pippilotta Viktualia Rullgardina Krusmynta Efraimsdotter Långstrump)

Det blir lite av en smaksak och fråga om hur mycket arbete man orkar lägga ner.

Ska man vara riktigt noggrann är väl egentligen följande lösning den mest "korrekta" (Missförstå mig rätt, det hela beror på vad som passar för dig.) :
I och med att relationen mellan person och förnamn är ett ett-till-många förhållande och detsamma gäller efternamn så skulle designen kunna se ut såhär:

PersonTabell:
PersonID (Primärnyckel), Tilltalsnamn (främmande nyckel från Förnamn), Mor ,Far , Make/Maka, Född, Död, osv.

FörnamnTabell:
FörnamnID (Primärnyckel), PersonID (främmande nyckel från PersonTabell), Förnamn, SorteringsKollumn

EfternamnTabell:
EfternamnID (Primärnyckel), PersonID (främmande nyckel från PersonTabell), Förnamn, SorteringsKollumn


På det viset kan du lägga in ett obegränsat antal namn per person, samt markera vilket som är tilltalsnamnet. Du kan även ange i vilken ordning de ska sorteras. (Det är ju troligen inte i bokstavsordning. Du kan ju iofs sortera på Primärnyckeln och på så sätt ta namnen i den ordning de skapades, men det är mindre flexibelt.)

Vid inmatning kan du helt enkelt bara skriva in namnen separerade med mellanslag, göra en Split() på dem och lägga upp nya poster en efter en i förnamns- respektive efternamnstabellen.


Svara

Sv: slå ihop söksträngar?

Postades av 2003-09-29 15:01:23 - Andreas Hillqvist

Tycker Johan kommer med ett mycket snyggt förslag.


Svara

Sv: slå ihop söksträngar?

Postades av 2003-09-29 22:25:27 - Per Persson

För att det skall bli smidigt att mata in namn kan du ha ett inmatningsfält för förnamn och ett för efternamn och i sedan ASP/VB-koden dela upp innehållet i fälten i sina ord. Eftersom jag inte kan ASP/VB, så låter jag bli att skriva kod här, men tanken är att t.ex. "Adam *Bertil David" skall delas upp i "Adam", "Bertil" och "David", vilka läggs in i varsin post i förnamnstabellen, samt att tilltalsnamnet skall anges vara "Bertil".

Någon annan, t.ex. Microsoft-Johan kan nog skriva koden.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 792
27 960
271 761
2 415
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies