[ASP] Simpele SQL query

Pagina: 1
Acties:
  • 53 views sinds 30-01-2008

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
Hoi,

ik heb echt een enorm simpele SQL query maar op een of andere reden doet hij het niet :

code:
1
2
3
4
set recordset = server.CreateObject("ADODB.recordset")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(Application("vroot") & "..\database\rtmeur02.mdb")
strSQL = "Select * from ReceivedFaxes Where CSID='" & sender & "' And Where Fullname='" & department & "'"
recordset.open strSQL,strconn,1,2


error:


Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error (missing operator) in query expression 'CSID='+31 10 2175879' And Where Fullname='Fax Customer Service''.
/facsys/rtm_r_result/search_on_SenderID.asp, line 53


maar als ik recordset.open effkes weghaalt en die StrSQL laat uitlezen doet hij dit :


Select * from ReceivedFaxes Where CSID='+31 10 2175879' And Where Fullname='Fax Customer Service'


ik word gek 8)7 8)7 snap er niks van, zoooo Sim-pel..

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

Er staat 2x Where in je Query; de 2e moet weg.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
* ArjanC Zucht.

THANKS ! :D :D :D

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
Ander vraagje,

heb m nu veranderd zodat hij gaat zoeken :

code:
1
2
3
set recordset = server.CreateObject("ADODB.recordset")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(Application("vroot") & "..\database\rtmeur02.mdb")
strSQL = "Select * from ReceivedFaxes Where CSID Like *" & sender & "* And  Fullname='" & department & "'"


het nadeel is nu dat als er geen records zijn dat hij met een error komt

Microsoft JET Database Engine (0x80040E14)
Syntax error (missing operator) in query expression 'CSID LIKE *1312* And Fullname='Fax Customer Service''.


logisch als er niks gevonden is, maar hoe kan je dat afvangen?

ik wil niet echt eerst alles uitlezen en dan nog een keertje gaan zoeken of CSID klopt (400 records per dag worder erbij gevoegt)

[ Voor 0% gewijzigd door ArjanC op 15-08-2002 15:04 . Reden: typo ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

Uit het hoofd: (want die foutmelding duidde volgens mij op een syntaxfout.. :) )

code:
1
CSID LIKE '%1312%'


En dat afvangen kan in je ASP-code trouwens:
code:
1
2
3
4
5
If not rs.Eof then
   ' zit nu aan het einde
Else
  ' Je hebt waarden
End if


edit:

devv05 en ik zijn weer lekker eensgezind vandaag zeg.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
If rst.eof = true and rst.bof = true then
response.write "niks gevonden"

als begin of file en end of file allebei true zijn, zijn er geen records..

maar volgens mij is dat niet die error..

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Is het niet een idee om zelf je syntax errors op te lossen??
Vroeg of laat moet je toch een keer leren te snappen wat zo'n foutmelding betekend en over het algemeen staat er precies waar de fout zit.
De foutmelding combineren met wat er had moeten staan (manuals geven dat over het algemeen weer) en je bent er zo uit.

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
devv05 schreef op 15 augustus 2002 @ 15:06:
If rst.eof = true and rst.bof = true then
response.write "niks gevonden"

als begin of file en end of file allebei true zijn, zijn er geen records..
Thanks, gaat goed zo :)

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
het volgende probleem doet zich voort.

iemand faxed naar ons met CSID R'dam

de asp pagina gaat helemaal over z'n nek door die '

zuig..

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

Oplossing:

code:
1
Replace(Request.Form("to"),"'","''")

Oftewel: enkele quote vervangen door dubbele ('' en niet ") quote.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

zorg dat die niet over zn nek gaat: gooi StrSQL door een parsertje heen voor je hem draait. Laat die parser een ' (single quote) in je input omzetten naar twee single quotes.
Anders kunnen je gebruikers rare truuks uithalen (SQL Injection) :)

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
hehe, ''m werkte !!

weer eentje opgelost :)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Het is niet de bedoeling dat we van voor tot achter je complete script nalopen op foutjes die jij tegenkomt...
Beetje eigen initiatief tonen ajb.

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
dat vraag ik ook niet.

ik heb eerst zelf gezocht (met collega's) voordat ik hier mijn vragen gaat stellen.

Verwijderd

www.faqts.com hoop goeie oplossing voor problemem met allerhande zaken. inclusief programmeren jscript, vbscript, asp e.d.

enjoy

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

burp2001 schreef op 15 augustus 2002 @ 16:25:
dat vraag ik ook niet.

ik heb eerst zelf gezocht (met collega's) voordat ik hier mijn vragen gaat stellen.
Niet lullig bedoeld, maar de bovenstaande problemen zijn een heel stuk basis- / beginnersproblemen. Daarom kan ik je aanraden om sowieso een aantal artikelen en voorbeelden te gaan lezen om je in de stof te verdiepen.

Twee mooie beginsites zijn:

www.asp101.com
www.4guysfromrolla.com

Waarbij de eerste site een aantal uitgewerkte artikelen / voorbeelden staan. Deze kunnen een mooie basis voor je applicaties zijn.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • majornono
  • Registratie: Juni 2002
  • Laatst online: 04-04 23:16
Verwijderd schreef op 15 augustus 2002 @ 16:44:
www.faqts.com hoop goeie oplossing voor problemem met allerhande zaken. inclusief programmeren jscript, vbscript, asp e.d.

enjoy
goede link. Deze gebruik ik op mijn werk ook ied're dag. Javascript, ASP, HTML en DHTML. ALs et daar niet staat en Googel tovert niets tevoorschijn, dan GOT!

Problem Exists Between Chair And Keyboard


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
ander probleem, (ik heb op faqts, asp101 en 4guysfromrolla gezocht en gegoogled)

ik heb 1 veld waar datum en tijd in staat.

nu wil ik op datum gaan zoeken. maar als ik dit doe:

code:
1
StrSql = "Select * from ReceivedFaxes Where TimeDate Like '%8/1/2002%' "


dan geeft hij geen records weer, terwijl er wel records zijn op 8/1/2002

ik heb het ook al geprobeert zonder spaties en 'where timedate = '8/1/2002' maar dan komt hij ook zonder records (omdat het veld : 8/1/2002 1:20:10 PM bevat.)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Misschien zijn er wel datum functies.

Maar deze mag je toche cht zelf oplossen.
Pagina: 1

Dit topic is gesloten.