Avatar billede klinemann Nybegynder
02. september 2006 - 13:45 Der er 17 kommentarer og
1 løsning

alfa i database asp

hej, jeg har fået et script af en ven, men hvordan får jeg lavet det sådan at jeg kan få vist alle dem der starter med Ta og Se.
mvh markus
Avatar billede klinemann Nybegynder
02. september 2006 - 13:46 #1
<%    Set Conn3 = Server.CreateObject("ADODB.Connection")
                            DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
                            DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
                            Conn3.Open DSN
                           
                            intPage = Request("page")
                            If isNumeric(intPage) = False Or intPage < 1 Then
                                intPage = 1
                            End If
                            %>
                                                                           
                            <%Set record = Server.CreateObject("ADODB.RecordSet")
                            Sql3 = "SELECT * FROM film ORDER BY orgtitel ASC"
                            record.Open Sql3,Conn3,1 %>
                            <%
                       
                            str_alfa = LCase(Request.QueryString.Item("alfa")) & UCase(Request.QueryString.Item("alfa"))
                           
                            str_sql2 = "SELECT * FROM film"
                            If Len(str_alfa) < 1 Then
                            str_alfa = "0123456789ABCDEFGHIJKLMNOPQRSTUVWYZÆØÅabcdefghijklmnopqstuuvwxyzæøå"
                            End if
                              str_sql2 = str_sql2 & " WHERE ("
                              for i = 1 to Len(str_alfa)
                                If i <> 1 Then
                                  str_sql2 = str_sql2 & " OR"
                                End If
                                str_sql2 = str_sql2 & " orgtitel LIKE '" &  Mid(str_alfa,i,1) & "%'"
                            next
                        %>
Avatar billede nielle Nybegynder
02. september 2006 - 17:04 #2
Sådan?

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

sql = "SELECT * FROM film WHERE orgtitel LIKE 'Se%' OR orgtitel LIKE 'Ta%' ORDER BY orgtitel ASC"
record.Open sql,Conn,1
%>
Avatar billede kiddoe Nybegynder
02. september 2006 - 17:33 #3
nok nærmere -

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

str_alfa = LCase(Request.QueryString.Item("alfa")) & UCase(Request.QueryString.Item("alfa"))

strAlfa = left(str_Alfa,2)

sql = "SELECT * FROM film WHERE orgtitel LIKE '%" & strAlfa & "%' OR orgtitel LIKE '%" & strAlfa "%' ORDER BY orgtitel ASC"
Record.Open sql,Conn,1
Do while not record.EOF
Response.write Record("orgtitle")& "<br>"
Record.MoveNext
Loop
%>
Avatar billede nielle Nybegynder
02. september 2006 - 17:40 #4
kiddoe> Det giver vist ikke rigtigt mening at have to ens LIKE-led. :^)

Og denne her er heller ikke helt sandsynlig:

str_alfa = LCase(Request.QueryString.Item("alfa")) & UCase(Request.QueryString.Item("alfa"))
strAlfa = left(str_Alfa,2)

- når man kigger den efter i sømmene.
Avatar billede nielle Nybegynder
02. september 2006 - 17:50 #5
Det frem,går ikke rigtigt af spørgsmålet hvad "alfa" har med søgning på Ta og Se at gøre, men jeg gætter på at det msåke er noget i denne stil:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

alfa = Request.QueryString.Item("alfa")
str_alfa = UCase(Mid(alfa,1,1)) & LCase(Mid(alfa,2,1))

sql = "SELECT * FROM film WHERE orgtitel LIKE '" & str_alfa & "%' ORDER BY orgtitel ASC"
record.Open sql,Conn,1
%>
Avatar billede kiddoe Nybegynder
02. september 2006 - 18:33 #6
seføli -
Avatar billede klinemann Nybegynder
02. september 2006 - 19:45 #7
hejsa, sådan som det er nu kommer alt det op med T og A hvis man skriver alfa=Ta, men jeg skal kun have det der starter med Ta, f.eks. Taxi
Avatar billede nielle Nybegynder
02. september 2006 - 19:48 #8
Prøv koden i 02/09-2006 17:50:19. :^)

Forresten, er du sikker på at dine Film-titler altid står med stort begyndelsesbogstav? Eller kan der også stå "taxi 3"?
Avatar billede nielle Nybegynder
02. september 2006 - 19:55 #9
Pyt med om de står blandet.

Denne her burde klare alle tilfælde:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

sql = "SELECT * FROM film"

alfa = LCase("" & Request.QueryString("alfa"))
If alfa <> "" Then
    sql = sql & " WHERE lower(orgtitel) LIKE '" & alfa & "%'"
End If

sql = sql & " ORDER BY orgtitel ASC

record.Open sql,Conn,1
%>
Avatar billede klinemann Nybegynder
03. september 2006 - 13:43 #10
hej nielle.
alle titiler står med stort. men jeg prøvede at sætte din kode ind men kunne ikke få det til at virke.. den siger fejl.

ADODB.Recordset error '800a0e79'

Operation is not allowed when the object is open.

/filmzonen/default.asp, line 358
Avatar billede nielle Nybegynder
03. september 2006 - 13:50 #11
Du har nok allerede brugt Conn eller Record tiligere i din kode uden at lukke dem pænt efter brug. Det bør du lige kigge nærmere på.

I mellemtiden kan du jo prøve at give dem nogle andre navne i det ovenstående:

<%
Set Conn7913 = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn7913.Open DSN

sql = "SELECT * FROM film"

alfa = LCase("" & Request.QueryString("alfa"))
If alfa <> "" Then
    sql = sql & " WHERE lower(orgtitel) LIKE '" & alfa & "%'"
End If

sql = sql & " ORDER BY orgtitel ASC

Set record7913 = Server.CreateObject("ADODB.RecordSet")
record7913.Open sql,Conn,1
%>


Eller msåke var det bare denne linje som manglede:

Set record7913 = Server.CreateObject("ADODB.RecordSet")
%>
Avatar billede klinemann Nybegynder
03. september 2006 - 13:56 #12
kunne du evt. skrive hvor den skal sættes ind
Avatar billede nielle Nybegynder
03. september 2006 - 13:58 #13
Den er sat ind i den vise kode. Lige over linjen:

record7913.Open sql,Conn,1
Avatar billede nielle Nybegynder
11. september 2006 - 21:06 #14
Har du fået det til at virke?
Avatar billede nielle Nybegynder
20. september 2006 - 21:17 #15
??
Avatar billede klinemann Nybegynder
21. februar 2007 - 23:08 #16
hejsa nielle, det funkede, smider du et svar?
Avatar billede nielle Nybegynder
22. februar 2007 - 12:59 #17
Svar :^)
Avatar billede nielle Nybegynder
02. april 2007 - 15:29 #18
Så mangler du bare at acceptere svaret :^)
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