Avatar billede s_raagaard Nybegynder
13. maj 2001 - 11:37 Der er 6 kommentarer og
3 løsninger

Søgning på alle felter i en tabel

Hvordan skriver man en sql der søger på alle felter i en navngiven tabel uden at feltnavnene skal angives?

i stedet for:

SELECT * FROM tabel WHERE felt1 LIKE \'%\" & Request(\"form1\") & \"%\' OR felt2 LIKE \'%\" & Request(\"form1\") & \"%\'
o.s.v.

skal den gøre noget alá følgende:

SELECT * FROM tabel WHERE (alle felter i tabel) LIKE \'%\" & Request(\"form1\") & \"%\'

/søren
Avatar billede netsrac Praktikant
13. maj 2001 - 11:40 #1
Det kan man vist ikke, du bliver nød til at angive alle felter...
Avatar billede mwittrock Nybegynder
13. maj 2001 - 12:24 #2
Der er ingen vej udenom, desværre.
Avatar billede tpiil Nybegynder
13. maj 2001 - 18:15 #3
Jeg tænkte at det måtte kunne lade sig gøre og det kunne det godt, jeg håber du kan gennemskue koden :)

<%
Set conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"db.mdb\")
SQL = \"Select * from tabel\"
set rs = Conn.Execute(SQL)
SQL = SQL & \" WHERE\"
start = 1
For each head IN rs.Fields
if not start = 1 then
SQL = SQL & \" OR \"
end if
SQL = SQL & \" \" & head.name & \" LIKE \'%\" & Request(\"form1\") & \"%\'\"
Start = 2
Next
Response.Write SQL
%>
Avatar billede netsrac Praktikant
13. maj 2001 - 18:41 #4
tpiil >> Ja okay, men det kræver jo 2 kald til databasen, resource spild, bare fordi man er for doven til at angive alle felter...
Avatar billede tpiil Nybegynder
13. maj 2001 - 18:43 #5
jeps men den virker, hvis nu han har forskellige tabeller at søge i så er den jo god nok :)
Avatar billede mwittrock Nybegynder
13. maj 2001 - 22:01 #6
Det ændrer jo heller ikke ved, at man ikke i SQL kan skrive en LIKE betingelse, der fungerer på mere end én kolonne, hvilket var hvad det oprindelige spørgsmål handlede om ;-)
Avatar billede tpiil Nybegynder
13. maj 2001 - 22:10 #7
det virker og det må jo være det vigtigste, i forhold til at i skal til at trække i land fordi i ikke tænker på at lave det :)
Avatar billede mwittrock Nybegynder
13. maj 2001 - 22:35 #8
-> tpiil: Nu bliver det en principsag! :)

\"Hvordan skriver man en sql der søger på alle felter i en navngiven tabel uden at feltnavnene skal angives?\"

Din løsning angiver netop alle feltnavnene, eneste forskel er om man indtaster dem selv eller ej.
Avatar billede tpiil Nybegynder
13. maj 2001 - 22:39 #9
tjaa man det er da meget smart hvis man f.eks. har forskellige tabeller at søge i :)

og det bliver til en sql :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB