04. februar 2002 - 10:12Der er
1 kommentar og 2 løsninger
Søgning med wildcard
Jeg har en Access database som jeg søger i:
<% strKeyword = Trim(Request.Form("Keyword")) If Len(strKeyword) = 0 Then Response.Clear Response.Redirect("sorry.asp") Else strKeyword = Replace(strKeyword,"'","''") End If strSQL = "SELECT * FROM sleevs WHERE" strSQL = strSQL & " (ordnum LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (job LIKE '%" & strKeyword & "%')" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("sleevs.mdb") Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then %>
I databasen er der tekst som eks. 10% peberkorn. Når jeg bruger Wildcard i min søgning %peber så knækker søgningen fordi den laver et eller andet når der er % tegn i teksten. Hvad går jeg ??
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
<% ' Henter værdien fra soeg.htm strKeyword = Trim(Request.Form("Keyword"))
If Len(strKeyword) = 0 Then ' Hvis der ikke er skrevet i feltet Response.Clear Response.Redirect("search.htm") Else ' Hvis der er skrevet i feltet strKeyword = Replace(strKeyword,"'","''") End If
' Opbygger en dynamisk SQL streng strSQL = "SELECT * FROM firma WHERE" strSQL = strSQL & " (id LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_navn LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_kontakt LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (firma_telefon LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_postnr LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_city LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_hjemmeside LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_email LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_info_om LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_henviser_til LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_id LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_adresse LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (firma_fax LIKE '%" & strKeyword & "%')"
' Skaber DSNLess forbindelse til DBen
'Response.Write strSQL ' Skaber et recordset udfra SQL strengen Set rs = Conn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
%> <table border="0" width="600" cellspacing="0" cellpadding="0" style="border: 1 solid #000000"> <tr> <td valign="middle" colspan="4" align="center" height="18"><font color="#FFFFFF"> <font face="Arial" size="3" color="#FFFFFF">Poster der blev fundet under søgningen</font></b></td> <tr>
Denne virker ALTID for mig jeg har lige testet det med et felt hvor jeg havde skrevet peber og hvor jeg havde skrevet 10% peber, og det virkede
Synes godt om
Ny brugerNybegynder
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.