Avatar billede kimbk Nybegynder
12. november 2011 - 12:53 Der er 1 kommentar og
1 løsning

SQL søgning => fejl

Hej

Jeg har et SQL problem, som jeg simpelthen ikke kan forstå - så hjælp derude.

Jeg har oprettet en database, som via en asp hjemmeside skal give adgang til updates for en udvalgt skare.
Databasen blev i første omgang oprettet med data for en test klient. Her virker alt, som det skal, og alle er lykkelige.

Herefter uploades de rigtige klientdata til databasen i form af en TAB formateret .txt fil med SQL kommandoen:

strQuery = "LOAD DATA LOCAL INFILE 'c:/xxxx/xxxx.txt' INTO TABLE tabel;" - det går tilsyneladende strygende, men efterfølgende søgning i databasen med de uploadede klient data giver en EOF/BOF fejl.

Ved indskrænkning af søgeord til ID (primær nøgle) dukker imidlertid de ønskede data op. Upload af data er OK.

Ved yderligere forsøg konstateres det, at det kun er den ene af to betingelser (LICENS) i søgefunktionen, som udløser fejlen.

Eks - søgning med TEST LICENS:
strQuery = "SELECT * FROM tool WHERE LICENS = '2222444466668888'"
Resultat - OK:
Session('Kundenr')= 1555555
Session('Licens')= 2222444466668888

Eks - søgning med uploaded klient LICENS:
strQuery = "SELECT * FROM tool WHERE LICENS = 'D4CF8419C4BE50C6'"
Resultat - EOF eller BOF - se nedenstående ASP connection kode.
Kundenr eller licens er forkert. Prøv igen.

Ovenstående klient ID nr i tabel er 61.
Eks - søgning med ID:
strQuery = "SELECT * FROM tabel WHERE ID = '61'"
Resultat - OK:
Session('Kundenr')= 1813500
Session('Licens')= D4CF8419C4BE50C6

Det ses her, at data er fuldkomment identiske???

Eks - søgning med samme klients KUNDENR:
strQuery = "SELECT * FROM tabel WHERE KUNDENR = '1813500'"
Resultat - OK:
Session('Kundenr')= 1813500
Session('Licens')= D4CF8419C4BE50C6

Igen ses det, at data fuldkomment identiske???

ASP connection kode
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.CursorLocation = 3
Rs.Open strQuery, Con,1,3,1

If  Rs.EOF OR Rs.BOF then
    Rs.Close
    Con.Close
    Set Rs = Nothing
    Set Con = Nothing
    Response.Write "Kundenr eller licens er forkert. Prøv igen."
Else   
    Session("Kundenr") = Rs("KUNDENR")
    Session("Licens") = Rs("LICENS")
    Rs.Close
    Con.Close
    Set Rs = Nothing
    Set Con = Nothing
    Response.Write "<BR>Session('Kundenr')= " & Session("Kundenr")
    Response.Write "<BR>Session('Licens')= " & Session("Licens")

end if


Tabel
strQuery = "DESCRIBE tabel"
...............

response.write Rs.fields(0).value & "<br>"
response.write Rs.fields(1).value & "<br>"
response.write Rs.fields(2).value & "<br>"


ID
int(10) unsigned
NO
KUNDENR
varchar(100)
YES
LICENS
varchar(100)
YES

Er der nogen, som kan give en forklaring på ovenstående mysterium.

På forhånd tak

Kim
Avatar billede kimbk Nybegynder
11. januar 2012 - 18:49 #1
Hej Eksperter

Hvordan lukker jeg dette spørgsmål?

På forhånd tak

Kim
Avatar billede kimbk Nybegynder
25. februar 2012 - 13:38 #2
Løsning er opgivet og hermed lukkes dette spørgsmål.
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
Computerworld tilbyder specialiserede kurser i database-management

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