Avatar billede clscableguy Praktikant
21. oktober 2005 - 10:07 Der er 19 kommentarer og
1 løsning

SQL like med tal og bogstaver

Hej

Jeg har et problem med en SQL sætning.

Jeg bruger access som database og interface asp.

Og har et tekst felt hvor der f.eks kan stå en af følgelige værdier:

A123
B 320
AA12345

Hvis jeg så skriver følgende SQL sæntning kommer der ingen poster frem:

Select * from t_tabel where nr like '%A%'
Select * from t_tabel where nr like '%1%'

Men hvorfor?
Avatar billede nielle Nybegynder
21. oktober 2005 - 10:39 #1
Prøv at bruge * i stedet for % - det kan Access vist godt lide.
Avatar billede clscableguy Praktikant
21. oktober 2005 - 11:03 #2
Det virker i access men ikke via ASP.    :(
Avatar billede nielle Nybegynder
21. oktober 2005 - 11:19 #3
Virker % så også i Access men ikke i ASP? Hvordan connecter du egentlig til din Access?
Avatar billede tdimhcs Nybegynder
21. oktober 2005 - 12:32 #4
Prøv:

Select * from t_tabel where nr Like ('%A%')

/kurt
Avatar billede clscableguy Praktikant
21. oktober 2005 - 14:01 #5
Connecter sådan her:
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open server.mappath("system.mdb")
%>


Select * from t_tabel where nr Like ('%A%')  >>  nej det virker heller ikke
Avatar billede kabbak Professor
21. oktober 2005 - 14:07 #6
Select * from t_tabel where nr like *A*
eller
Select * from t_tabel where nr like %A%
Avatar billede clscableguy Praktikant
21. oktober 2005 - 14:11 #7
kabbak>> det vikker ikke i min asp side men i access
Avatar billede nielle Nybegynder
21. oktober 2005 - 15:58 #8
Er du 100% sikker på at din ASP-side overhovedet kommer igennem til databasen?

Hvad med:

SELECT * FROM t_tabel

Kommer der noget ud?
Avatar billede clscableguy Praktikant
21. oktober 2005 - 18:22 #9
ja, hvis jeg laver følgende :

<!--#include file="dbconnect.asp"-->
<%
  SQL = "Select * from t_biler"
  response.write(SQL & "<br>")
  set rs = conn.execute(SQL)
  do until rs.eof
    response.write(rs("id") & "<br>")
    rs.movenext
  loop
  rs.close
  conn.close
  set conn = nothing
%>

Så får jeg det her ud:

Select * from t_biler
1
2
3
Avatar billede nielle Nybegynder
22. oktober 2005 - 11:48 #10
Jeg ville nu hellere have set resultatet af:

response.write(rs("nr") & "<br>")

Umiddelbart kan jeg ikke se hvad der går galt. Når jeg prøver at gå på en Access 2000 database via en OleDb-forbindelse, så udføres LIKE med %-tegn som den forventes.

Prøv evt. at vise os noget mere af din kode.
Avatar billede clscableguy Praktikant
24. oktober 2005 - 11:01 #11
Her er et kopi af min kode:

  SQL = "Select count(*) as antal from t_biler where regnr like '*" & request("regnr") & "*'"

  set rs = conn.execute(SQL)
  antal = rs("antal")
  rs.close
  response.write(antal)
Avatar billede nielle Nybegynder
24. oktober 2005 - 19:36 #12
I 9 ud af 10 tilfælde skyldes underlig adfærd med databaser at ens SQL ser anderledes ud end det man forventede. Prøv derfor altid med en debug-udskrift:

SQL = "Select count(*) as antal from t_biler where regnr like '*" & request("regnr") & "*'"
Response.Write "DEBUG: " & SQL & "<br>"

set rs = conn.execute(SQL)
antal = rs("antal")
rs.close

response.write(antal)
Avatar billede clscableguy Praktikant
24. oktober 2005 - 21:23 #13
nu har jeg prøvet med /test.asp?regnr=t

svar:
DEBUG: Select count(*) as antal from t_biler where regnr like '*t*'
0
Avatar billede nielle Nybegynder
24. oktober 2005 - 22:01 #14
Og havd er resultatet med '%'?

Og kan du ikke give et par eksempler på nogle af de poster, du mener skal give dig nogle hits?
Avatar billede clscableguy Praktikant
24. oktober 2005 - 22:12 #15
poster i databasen
id kundeid bil        regnr  stelnr
1  1      Opel Astra TT33333 etetert
2  2      T9        ER45678 tetetew
3  3      BMW 320    YY54545 wrtrtrt
Avatar billede clscableguy Praktikant
24. oktober 2005 - 22:16 #16
hmm, nu fatter jeg ikke en skid, prøver igen med '%' og nu virker det.
Avatar billede nielle Nybegynder
24. oktober 2005 - 22:45 #17
Somme tider er det der IT bare for underligt. ;^)

Det har sikkert været noget helt andet som gav problemer. :^|
Avatar billede clscableguy Praktikant
25. oktober 2005 - 07:13 #18
Ja, helt sikkert. Smid et svar og du får point.  :)
Avatar billede nielle Nybegynder
25. oktober 2005 - 12:46 #19
Nej tak til point på denne her. Tag du den bare selv igen. :^)
Avatar billede clscableguy Praktikant
25. oktober 2005 - 15:32 #20
Oki. Men tak for hjælpen alligevel.  :)
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