Avatar billede neeo Nybegynder
02. april 2004 - 21:50 Der er 62 kommentarer og
1 løsning

fejl i asp side ODBC Drivers error '80040e09'

hej til alle.

hjælpppppppppppppp

jeg har en fejl på min side som lyder på
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near '; WHERE ((`booking_id` LIKE '%2%' OR `Kunde_navn` LIKE '%2%' OR `rejse_dato` LIK' at line 1

/mytest/statistik/bookingoversigt.asp, line 169



og i linje 169 :

rs.Open strsql, conn, 1, 2


et par linjer op og ned:

'Response.Write strsql
Set rs = Server.CreateObject("ADODB.Recordset")
rs.cursorlocation = 3
rs.Open strsql, conn, 1, 2
totalRecs = rs.RecordCount




er der nogen der kan se hvad det kunne være ?
Avatar billede neeo Nybegynder
02. april 2004 - 21:51 #1
min sql sætning ser sådan ud:

' Build SQL
strsql = "SELECT booking.booking_id, kunde.Kunde_navn, rejse.rejse_fra, booking.booking_total_pris, "
strsql = strsql & "booking.booking_rest_beoloeb, booking.booking_betallings_type, "
strsql = strsql & "rejse.rejse_dato FROM (booking INNER JOIN rejse ON booking.booking_id = rejse.booking_id)"
strsql = strsql & "INNER JOIN kunde ON kunde.Kunde_id = booking.kunde_id;"
Avatar billede eagleeye Praktikant
02. april 2004 - 21:55 #2
det lyder noget mystisk da der ikke er en where del i den sql sætning du har vist, men fjlen er i where delen ifølge fejl teksten.
Avatar billede neeo Nybegynder
02. april 2004 - 21:56 #3
det hele virker  meget fint, men det er først når jeg begynder at fortage en søgning at det overnævnte fejl dukker op
Avatar billede eagleeye Praktikant
02. april 2004 - 21:58 #4
Er det så fordi din strsql slutter med et ;

..
..
strsql = strsql & "INNER JOIN kunde ON kunde.Kunde_id = booking.kunde_id;"

og så forsætter du efter den linje med:
strsql = strsql & " WHERE ((`booking_id` LIKE '%" & ....


hvis du udbygger skal ; væk sådan fra linjen:
strsql = strsql & "INNER JOIN kunde ON kunde.Kunde_id = booking.kunde_id;"
Avatar billede neeo Nybegynder
02. april 2004 - 22:01 #5
min sql sætning ser sådan ud i asp koden:

' Build SQL
strsql = "SELECT booking.booking_id, kunde.Kunde_navn, rejse.rejse_fra, booking.booking_total_pris, "
strsql = strsql & "booking.booking_rest_beoloeb, booking.booking_betallings_type, "
strsql = strsql & "rejse.rejse_dato FROM (booking INNER JOIN rejse ON booking.booking_id = rejse.booking_id)"
strsql = strsql & "INNER JOIN kunde ON kunde.Kunde_id = booking.kunde_id;"
Avatar billede eagleeye Praktikant
02. april 2004 - 22:03 #6
Den sql sætning giver ikke den fejl.
Avatar billede neeo Nybegynder
02. april 2004 - 22:05 #7
nej det er det, den virker ok på andre sider men her når jeg prøver at søge noget så dukker der fejl op
hvis du klikker her:
http://www.celiks.dk/mytest/statistik/bookingoversigt.asp

så dukker der noget op , men hvis du prøver at søger så kommer der fejl
Avatar billede eagleeye Praktikant
02. april 2004 - 22:05 #8
hov fik ikke fjernet ; fra den sidste linje jeg viste.. men:
strsql = strsql & "INNER JOIN kunde ON kunde.Kunde_id = booking.kunde_id;"
Skal være:
strsql = strsql & "INNER JOIN kunde ON kunde.Kunde_id = booking.kunde_id"

hvis strsql udbygges vidre ned i din kode.
Avatar billede eagleeye Praktikant
02. april 2004 - 22:06 #9
Så prøv som vist i 02/04-2004 22:05:39 at fjerne ;'et.
Avatar billede neeo Nybegynder
02. april 2004 - 22:08 #10
har ændret det, men så får jeg denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[TCX][MyODBC]Column: 'booking_id' in where clause is ambiguous

/mytest/statistik/bookingoversigt.asp, line 169
Avatar billede neeo Nybegynder
02. april 2004 - 22:11 #11
jeg har koden for det her , hvis du gerne vil kigge på det
http://www.celiks.dk/mytest/statistik/kode.asp
Avatar billede eagleeye Praktikant
02. april 2004 - 22:11 #12
Så skal du angive hvilken tabel den skal tage booking_id i, booking_id er både i tabellen booking og tabellen regse så du skal enten skrive:
booking.booking_id  eller rejse.booking_id
Avatar billede eagleeye Praktikant
02. april 2004 - 22:11 #13
Eks:

WHERE ((`booking.booking_id` LIKE '%
Avatar billede eagleeye Praktikant
02. april 2004 - 22:12 #14
Det må så blive denne linje i koden:

b_search = b_search & "`booking_id` LIKE '%" & Trim(kw) & "%' OR "

Der skal tilføjes tabelnavn i, eks:

b_search = b_search & "`booking.booking_id` LIKE '%" & Trim(kw) & "%' OR "
Avatar billede neeo Nybegynder
02. april 2004 - 22:13 #15
hvor skal jeg skrive det henne ? jeg har i min sql sætning fortalt hvilke det er
booking.booking_id,....
Avatar billede eagleeye Praktikant
02. april 2004 - 22:16 #16
også i denne linje, skal det med:

b_search = b_search & "`booking_id` LIKE '%" & pSearch & "%' OR "

Når man ikke angiver tabelnavn kigger databasen selv i de tabeller som indgår i SQL sætningen efter kolonnen, og kan den findes i en eller flere tabelerne som indgår kommer den fejl
Avatar billede eagleeye Praktikant
02. april 2004 - 22:17 #17
Derfor det altid en god ide at skrive tabelnavn.klonnenavn når man angiver en kolonne i en SQL sætning med flere tabeller.
Avatar billede neeo Nybegynder
02. april 2004 - 22:18 #18
hvor skal jeg smide det her henne i koden præciss
b_search = b_search & "`booking_id` LIKE '%" & pSearch & "%' OR
Avatar billede eagleeye Praktikant
02. april 2004 - 22:19 #19
Det er en linje taget fra din kode hvor du også skal angive et tabelnavn foran booking_id
Avatar billede neeo Nybegynder
02. april 2004 - 22:20 #20
jeg har smidt det ind men det hjælper ikke
Avatar billede neeo Nybegynder
02. april 2004 - 22:21 #21
arpSearch = Split(Trim(pSearch), " ")
        For Each kw In arpSearch
            b_search = b_search & "("
            b_search = b_search & "`booking.booking_id` LIKE '%" & Trim(kw) & "%' OR "
            b_search = b_search & "`kunde.Kunde_navn` LIKE '%" & Trim(kw) & "%' OR "
            b_search = b_search & "`rejse.rejse_dato` LIKE '%" & Trim(kw) & "%' OR "
            If Right(b_search, 4)=" OR " Then b_search = Left(b_search, Len(b_search)-4)
            b_search = b_search & ") " & pSearchType & " "
        Next
    Else

    b_search = b_search & "`booking.booking_id` LIKE '%" & pSearch & "%' OR "
    b_search = b_search & "`kunde.Kunde_navn` LIKE '%" & pSearch & "%' OR "
    b_search = b_search & "`rejse.rejse_dato` LIKE '%" & pSearch & "%' OR "
    End If
End If
Avatar billede eagleeye Praktikant
02. april 2004 - 22:24 #22
hmm før kom fejlen ikke bare ved at gå ind på siden??
men det skulle ellers blive bedre af det.
Avatar billede neeo Nybegynder
02. april 2004 - 22:27 #23
det mærkligt :(
Avatar billede neeo Nybegynder
02. april 2004 - 22:31 #24
det her er meget mærkligt, nogle gange så kommer siden op uden fejl og nogle gange så virker det ikke slette ikke og men det galt når man først prøve at søge
Avatar billede eagleeye Praktikant
02. april 2004 - 22:32 #25
er koden lagt op?
Avatar billede neeo Nybegynder
02. april 2004 - 22:34 #26
Avatar billede eagleeye Praktikant
02. april 2004 - 22:35 #27
hmm de to eneste som ikke er rettet er dem med booking_id:


For Each kw In arpSearch
b_search = b_search & "("
b_search = b_search & "`booking_id` LIKE '%" & Trim(kw) & "%' OR "
b_search = b_search & "`kunde.Kunde_navn` LIKE '%" & Trim(kw) & "%' OR "
b_search = b_search & "`rejse.rejse_dato` LIKE '%" & Trim(kw) & "%' OR "
If Right(b_search, 4)=" OR " Then b_search = Left(b_search, Len(b_search)-4)
b_search = b_search & ") " & pSearchType & " "
Next
Else

b_search = b_search & "`booking_id` LIKE '%" & pSearch & "%' OR "
b_search = b_search & "`kunde.Kunde_navn` LIKE '%" & pSearch & "%' OR "
b_search = b_search & "`rejse.rejse_dato` LIKE '%" & pSearch & "%' OR "
End If
End If


Der mangler stadig et tabelnavn.
Avatar billede neeo Nybegynder
02. april 2004 - 22:36 #28
nu har jeg rettet dem , men det hjælper alligevel ikke :(
Avatar billede eagleeye Praktikant
02. april 2004 - 22:38 #29
Jeg spørger igen er den uploadet 100% korrekt?
Avatar billede neeo Nybegynder
02. april 2004 - 22:41 #30
jeg har lige slettet den fra serveren og uploadet den igen
Avatar billede eagleeye Praktikant
02. april 2004 - 22:42 #31
ok, har du husket at gemme den inden du uploader, det glemmer man nogle gange.
Er kode.asp opdateret?
Avatar billede neeo Nybegynder
02. april 2004 - 22:44 #32
kode.asp har jeg lige opdateret
Avatar billede eagleeye Praktikant
02. april 2004 - 22:48 #33
kode.asp tager den koden fra serveren, eller er den lavet lokalt?
Avatar billede neeo Nybegynder
02. april 2004 - 22:50 #34
jeg opdatere den selv
Avatar billede neeo Nybegynder
02. april 2004 - 22:50 #35
jeg har manuelt copy page koden
Avatar billede eagleeye Praktikant
02. april 2004 - 22:51 #36
Jeg må indrømme jeg tror ikke koden er opdateret i:
http://www.celiks.dk/mytest/statistik/bookingoversigt.asp
Hvis den er uploadet og koden er som i kode.asp så der noget som cache'er siden et sted, enten dit FTP program eller serveren filen ligger på.
Avatar billede neeo Nybegynder
02. april 2004 - 22:52 #37
Avatar billede neeo Nybegynder
02. april 2004 - 22:52 #38
jeg har pakket asp.filen i tilfælde du vil kigge på den , jeg har sat den til at ikke cache
Avatar billede neeo Nybegynder
02. april 2004 - 22:56 #39
ok, jeg åbnede den og der var ikke fejl i det, og efter jeg lavet en søgning kom den med fejlmedelelse og de gøre den nu hele tiden selv om jeg genstarter min browser.
men når jeg åbner den med mozilla så kommer der ikke noget fejl, og der dukker kun fejl op når jeg søger og når jeg genstarter browseren så virker det igen indtil jeg begynder at søge så dukker der fejl op! :(
Avatar billede eagleeye Praktikant
02. april 2004 - 23:02 #40
Den siger en anden fejl:

[TCX][MyODBC]Unknown column 'booking.booking_id' in 'where clause'
Avatar billede neeo Nybegynder
02. april 2004 - 23:05 #41
ja og jeg ved ikke hvordan jeg retter det :(
Avatar billede eagleeye Praktikant
02. april 2004 - 23:06 #42
Prøv at fjerne ` omkring:

If pSearch <> "" Then
    pSearch = Replace(pSearch,"'","''")
    pSearch = Replace(pSearch,"[","[[]")
    If pSearchType <> "" Then
        While InStr(pSearch, "  ") > 0
            pSearch = Replace(pSearch, "  ", " ")
        Wend
        arpSearch = Split(Trim(pSearch), " ")
        For Each kw In arpSearch
            b_search = b_search & "("
            b_search = b_search & "booking.booking_id LIKE '%" & Trim(kw) & "%' OR "
            b_search = b_search & "kunde.Kunde_navn LIKE '%" & Trim(kw) & "%' OR "
            b_search = b_search & "rejse.rejse_dato LIKE '%" & Trim(kw) & "%' OR "
            If Right(b_search, 4)=" OR " Then b_search = Left(b_search, Len(b_search)-4)
            b_search = b_search & ") " & pSearchType & " "
        Next
    Else

    b_search = b_search & "booking.booking_id LIKE '%" & pSearch & "%' OR "
    b_search = b_search & "kunde.Kunde_navn LIKE '%" & pSearch & "%' OR "
    b_search = b_search & "rejse.rejse_dato LIKE '%" & pSearch & "%' OR "
    End If
End If
Avatar billede neeo Nybegynder
02. april 2004 - 23:10 #43
har fjernet det du har skrevet
Avatar billede neeo Nybegynder
02. april 2004 - 23:11 #44
men den melder stadige fejl. og hvor skal jeg så definere søgekriterene
Avatar billede eagleeye Praktikant
02. april 2004 - 23:21 #45
Det ved jeg ikke så..

prøv at udskrive den færdige sql sætning sådan disse to linjer:

'Response.Write strsql
Set rs = Server.CreateObject("ADODB.Recordset")

Bliver til:

Response.Write strsql
Response.End
Set rs = Server.CreateObject("ADODB.Recordset")
Avatar billede neeo Nybegynder
02. april 2004 - 23:24 #46
hvor skal jeg skrive det her henne
Avatar billede eagleeye Praktikant
02. april 2004 - 23:26 #47
du har disse to linjer:

'Response.Write strsql
Set rs = Server.CreateObject("ADODB.Recordset")

De skal laves til disse 3 linjer, den ene skal bare udkommenteres og så tilføes en response.end:

Response.Write strsql
Response.End
Set rs = Server.CreateObject("ADODB.Recordset")
Avatar billede neeo Nybegynder
02. april 2004 - 23:31 #48
ok, nu har jeg skrevet ligesom du sagde og den visser nogen andet nu
http://www.celiks.dk/mytest/statistik/bookingoversigt.asp
Avatar billede neeo Nybegynder
02. april 2004 - 23:32 #49
vil du have ftp en kode til at komme ind og prøve ændre
Avatar billede eagleeye Praktikant
02. april 2004 - 23:33 #50
hmm :)
det skulle være når den havde en where på så prøv at rette det til:


Response.Write strsql
if b_search <> "" then
  Response.End
end if
Set rs = Server.CreateObject("ADODB.Recordset")
Avatar billede neeo Nybegynder
02. april 2004 - 23:36 #51
den melder samme fejl lige under udskrivelsen.

jeg kan godt smide ftp informationer i kode.asp så kan du lige kigge på det , også kan vi skrive hvad det reelle problem var her så andre senere kan have gavn af det
Avatar billede eagleeye Praktikant
02. april 2004 - 23:42 #52
har du selv lavet koden?


gruden til den fejler nu er fordi du gemmer søge strengen i session vaiablen:

' Save search criteria
If searchwhere <> "" Then
    Session("booking_searchwhere") = searchwhere

    ' Reset start record counter (new search)
    startRec = 1
    Session("booking_REC") = startRec
Else
    searchwhere = Session("booking_searchwhere")
End If
Avatar billede neeo Nybegynder
02. april 2004 - 23:43 #53
nej det er ikke mig der har lavet det
Avatar billede neeo Nybegynder
02. april 2004 - 23:44 #54
så fjernder jeg bare det så den ikke gemmer
Avatar billede eagleeye Praktikant
02. april 2004 - 23:45 #55
du kan jo tilføje det når det engang virker :)

du kan godt fjerne det jeg har vist sådan der igen står:

'Response.Write strsql
Set rs = Server.CreateObject("ADODB.Recordset")
Avatar billede neeo Nybegynder
02. april 2004 - 23:45 #56
prøv se , jeg har fjernet det så den ikke gemmer men den fejler stadige
Avatar billede eagleeye Praktikant
02. april 2004 - 23:47 #57
Prøv at lukke din IE og start den igen, den fejler ikke hos mig.
Nå jeg må til at smutte.

Hvilken data type er kolonne booking_id ?
Avatar billede neeo Nybegynder
02. april 2004 - 23:48 #58
søgning virker ikke
Avatar billede neeo Nybegynder
02. april 2004 - 23:51 #59
Hvilken data type er kolonne booking_id = den er autonr
Avatar billede eagleeye Praktikant
02. april 2004 - 23:56 #60
Har du fjernet denne:

if b_search <> "" then
  Response.End
end if
Avatar billede neeo Nybegynder
03. april 2004 - 13:54 #61
jeg har fjernet den . men den melder :
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[TCX][MyODBC]Unknown column 'booking.booking_id' in 'where clause'

/mytest/statistik/bookingoversigt.asp, line 167
Avatar billede eagleeye Praktikant
03. april 2004 - 21:13 #62
Jeg må blankt erkende at det forstår jeg ikke..  og jeg kan faktisk ikke lige gemmenskue hvorfor det ikke skulle virke.
men du skal nok prøve at tage et kig på dette:
http://www-sbras.nsc.ru/win/docs/db/mysql/manual7.html
Avatar billede neeo Nybegynder
11. maj 2006 - 10:18 #63
lukker
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