AND i SQL-sträng förutom den sista....

ASP

8 svar · 264 visningar · startad av JAreMANNEN

Medlem sedan aug. 20002 272 inlägg
Trådstart#1

Begrunda följande....

Har gjort en sökfunktion som ska söka igenom vissa databaskolumner...

Som det är just nu så kan jag fylla i ett utav formulärfälten på söksidan, fyller jag i båda så får jag förstås ett felmeddelande som talar om att det finns AND efter den sista variabeln i SQL-strängen (" & strCompany & ")

Visar koden nedan:

Dim strSearch, strCompany

strSearch = Request.Form("sokord")
strCompany = Request.Form("company")

If NOT strSearch = "" Then
strSearch = Replace("strSearch", "strSearch", "keyword LIKE '%" & strSearch & "%' AND ")
End If

If NOT strCompany = "" Then
strCompany = Replace("strCompany", "strCompany", "company LIKE '%" & strCompany & "%' AND ")
End If

strSQL = "SELECT * FROM Foretag WHERE " & strSearch & " " & strCompany & " "

Mitt problem är att jag inte vet HUR man ska "plocka" bort det sista AND..

Jag kan inte ta bort det i Replace-strängen eftersom jag kommer att lägga till fler sökfält sedan, och då kan ju de komma i vilken ordning som helst beroende på vilka fält som fylls i..

Hoppas att jag postade på rätt ställe nu... :)

Medlem sedan juni 200032 967 inlägg
#2

strCompany = left (strCompany, len(strCompany)-4)

mvh,

Medlem sedan juni 200032 967 inlägg
#3

eller med strSQL då, antar jag.

Medlem sedan aug. 20002 272 inlägg
#4

Som sagt:

Jag kan inte ta bort det i Replace-strängen eftersom jag kommer att lägga till fler sökfält sedan, och då kan ju de komma i vilken ordning som helst beroende på vilka fält som fylls i..

Du kanske hade tänkt på det..men jag tycker att den koden du skrev ser ut att BARA ta bort 4 tecken från slutet påstrCompany..ELLER?

Om jag lägger till tex stad som sökmöjlighet oxå då blir det juh knas....

Eller är jag ute på djupt vatten nu kanske..? :)

Medlem sedan juni 200032 967 inlägg
#5

jo, men jag ångrade mig ju och sa att du skulle köra på strSQL istället.

det är väl så att enligt din kod kommer alltid strSQL att sluta på "AND ".

Medlem sedan aug. 20002 272 inlägg
#6

Aha.....

Tröga mig.. :)

Tack!

Medlem sedan juni 200032 967 inlägg
#7

'sego! :)

Medlem sedan aug. 20002 272 inlägg
#8

Funkar KALAS nu...bara en lite fråga till :)

Kan man lägga i Count(tabell) AS variabel i den SQL-strängen jag använder??

strSQL = "SELECT * FROM Foretag WHERE " & strSearch & " " & strCompany & " "

Eller hur ska jag räkna antalet sökträffar???

Medlem sedan juni 200032 967 inlägg
#9

i det här fallet hade jag antingen gjort två sql-frågor eller använt recordset-objektets recordcount. det finns massor av trådar här på wf om just hur man räknar sökträffar. :)

250 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)