Avatar billede fastpoint Nybegynder
24. marts 2005 - 11:07 Der er 17 kommentarer og
1 løsning

ODBC fejl hmm

Får følgende fejl

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

ODBC driver does not support the requested properties.

i denne kode.

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM branche"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")
If Request("alfa") > "" Then strSQL = strSQL & " AND instr('" & LCase(Request("alfa")) & "',lcase(left(branche,1)))>0"
strSQL = StrSQL & " ORDER BY branche"
rs.Open strSQL, strDSN, 1

ved denne linje "rs.Open strSQL, strDSN, 1"
prøver at hente data fra min database i tabellen branche i kolonnen branche.
branche er af datatypen text. hvad er problemet?
Avatar billede moejensen Nybegynder
24. marts 2005 - 11:10 #1
instr er ikke en metode i sql, men i ASP
Avatar billede fastpoint Nybegynder
24. marts 2005 - 11:13 #2
hmm jeg har ellers brugt den fint før når jeg kun skal hente data ud fra hvilket bogstav man har valgt. Hvorfor kan jeg så ikke her? koden er identisk. Hvordan skal jeg ellers gøre det?
Avatar billede moejensen Nybegynder
24. marts 2005 - 11:14 #3
du skal gøre noget i den her stil:

strSQL = strSQL & " AND '"& instr(LCase(Request("alfa")))&"' AND " & LCase(left(branche,1))&" > 0"

men jeg kan ikke lige se hvad du vil med den første instr. Kan du ikke prøve at formulere med ord hvad du vil have ud af hvilke felter
Avatar billede moejensen Nybegynder
24. marts 2005 - 11:15 #4
prøv at vi mig det du har brugt tidligere, som du siger virker.
Avatar billede moejensen Nybegynder
24. marts 2005 - 11:17 #5
jeg er jo ingen guro, så det kan jo være at det er noget jeg ikke ved :-)
Avatar billede moejensen Nybegynder
24. marts 2005 - 11:19 #6
hvad er det du gerne vi lhavde ud med det her: lcase(left(branche,1)))>0
Avatar billede fastpoint Nybegynder
24. marts 2005 - 11:22 #7
jeg prøver bare at lave en bedre opdeling af min database.
før var det sådan, at når jeg startede siden skulle jeg vælge mellem nogen bogstaver

A B C D E.... osv

trykker man på "A" kom alle resultater frem fra databasen som startede med A.
Nu har jeg så lavet en ny tabel med katagorier i (brancher) og det er faktisk bare herfra den skal kigge istedet, men så får jeg den der fejl.

alfa hentes fra URL'en
Avatar billede moejensen Nybegynder
24. marts 2005 - 11:23 #8
så du skal bare have alle ud eller hvad?
Avatar billede moejensen Nybegynder
24. marts 2005 - 11:25 #9
så du skal have alle ud inden for en bestem branche?
Avatar billede eagleeye Praktikant
24. marts 2005 - 11:35 #10
Hvis koden er som du har vist får du en SQL sætning som den ikke kan forstår det bliver noget med: 'select * from branche AND xxxx'

Hvis du vil havde den tager alle med A hvis A er i Request("alfa") så prøv at rette koden til:

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM branche"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")
If Request("alfa") > "" Then strSQL = strSQL & " WHERE left(branche,1) = '" & request("alfa") & "'"
strSQL = StrSQL & " ORDER BY branche"
rs.Open strSQL, strDSN, 1
Avatar billede fastpoint Nybegynder
24. marts 2005 - 11:40 #11
eagleeye det virkede faktisk:) Det kan dog være jeg vender tilbage senere for mystisk nok skulle jeg slette en <else> og en end if længere nede på siden som jeg ellers havde med i det gamle:)

du kan lægge et svar:)
Avatar billede eagleeye Praktikant
24. marts 2005 - 11:42 #12
Ja det kan jeg da :)
Avatar billede fastpoint Nybegynder
24. marts 2005 - 11:47 #13
ahh okay nu fandt jeg ud af hvad det var! så lad os hellere få det ud af verdenen nu:) den else er hvis der ikke er noget i den katagori man vælger så skriver den at der er tomt. Men den siger syntax error til min else. koden er (ved ikke om i vil se mere.

  <%
intRecCount = intRecCount - 1
rs.MoveNext
Loop
%>
                    </table>
                <br><div align="center"><font face="Courier New, Courier, mono">
                  </font></div>
<%
Else
%>
                    <div align="center"><font face="Courier New, Courier, mono"><span class="overskrift"><font color="#FF0000" size="2"><b>Der er stadig tomt i denne katagori!</b></font> </span>
                      <%
Avatar billede eagleeye Praktikant
24. marts 2005 - 11:51 #14
Har du så en if sætning før dit loop i stil med:

if not rs.EOF then
  'loopet her

og tjek du også har en end if til if sætningen.
Avatar billede fastpoint Nybegynder
24. marts 2005 - 11:55 #15
ja det har jeg..

                <%
Do While Not rs.EOF And intRecCount > 0
%>

og end if havde jeg også men den brokkede sig først over else så den fjerne jeg og herefter end if:/
Avatar billede fastpoint Nybegynder
24. marts 2005 - 11:56 #16
hmm okay den hedder ikke noget med if kan jeg se. men bare Do while
Avatar billede eagleeye Praktikant
24. marts 2005 - 11:57 #17
Du skal havde en if sætning sådan her:

                <%
if not rs.EOF then
  Do While Not rs.EOF And intRecCount > 0
%>
Avatar billede fastpoint Nybegynder
24. marts 2005 - 12:00 #18
wow! der var den:)! Mange tak for hjælpen!
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