[Access/ASP] query probleem

Pagina: 1
Acties:

  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Ik ben bezig met een prijs-vergelijk script waarbij ik op dit moment bezig ben om de winkels die een artikel verkopen weer te geven.

Ik krijg de query maar niet werkende...

Dit is de code:

<%
Dim productID
productID = Request.QueryString("pid")

sqlString = "SELECT * FROM supplier INNER JOIN products ON supplier.Id = products.sub_Id WHERE supplier.Id="& productID &" ORDER BY supplier_name"
CatRS.Open sqlString
%>

Er zit een één-op-veel relaties tussen:
[supplier.Id] en [products.sub_Id]

Ik krijg deze foutmelding:

Error Type:
Microsoft VBScript compilation (0x800A0409)
Unterminated string constant
/show_supplier.asp, line 10, column 122
sqlString = "SELECT * FROM supplier INNER JOIN products ON supplier.Id = products.sub_Id WHERE supplier.Id="& productID &"

Hij verwijst naar [productID]
De var "productID" heb ik toch gedefinieerd????

Specs


  • itsjohan
  • Registratie: Januari 2001
  • Laatst online: 22:56
Volgens mij is er toch iets mis met je productid variabele. waarschijnlijk is ie leeg. doe anders eerst eens een response.write productID om te kijken wat er voor waarde in zit.
wat ook altijd helpt is om je string eerst uit te spugen (response.write) en vervolgens te knip&plakken in een nieuwe query in access, die geeft vervolgens direct aan waar je syntax problemen zitten.

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:42
Print eens uw volledige SQL statement af , dus
code:
1
Response.Write sqlString

En kijk eens hoe dat statement eruit ziet.

https://fgheysels.github.io/


Verwijderd

code:
1
2
3
sqlString = "SELECT * FROM supplier INNER JOIN 
products ON supplier.Id = products.sub_Id WHERE 
supplier.Id=" & productID & " ORDER BY supplier_name"

dit, en
code:
1
2
3
sqlString = "SELECT * FROM supplier INNER JOIN 
products ON supplier.Id = products.sub_Id WHERE 
supplier.Id=" & productID

zou moeten werken...

Je had & " staan op het eind van de string, en hij zocht dus naar nog een ", die niet kwam :)

/Edit: layout werd vern**kt

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:42
tsss... je hebt wel coding guidelines voor C#, maar die SQL die je gepost hebt, is nu ook niet echt leesbaar ... :)

https://fgheysels.github.io/


  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Ik krijg hem niet afgedrukt met response.write

Bij een andere code lukt het wel.

Wanneer ik dit:

sqlString = "SELECT * FROM supplier INNER JOIN
products ON supplier.Id = products.sub_Id WHERE
supplier.Id=" & productID & " ORDER BY supplier_name"

gebruik krijg ik de volgende melding:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/show_supplier.asp, line 12

Specs


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:42
Op dinsdag 30 april 2002 21:43 schreef Rob.B het volgende:
Ik krijg hem niet afgedrukt met response.write
:? Lijkt me vreemd. Wat krijg je dan? Een foutmelding of niets?
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/show_supplier.asp, line 12
Ofwel is de variable ProductId leeg, ofwel is ProductId een alfanumeriek type (wat me zou verbazen) bij u en moeten er single quotes rond, ofwel heb je ergens een onbestaande (misschreven ofzo) columnnaam of tablenaam gebruikt.

https://fgheysels.github.io/


  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Ik krijg een foutmelding in de query.

Ik heb hem eens in access uitgevoerd en dan werkt de query wel. Dat is dus de query die ik als laatste had.

Hierbij voor alle zekerheid een stukje van de code waarvan de productID de gegevens ophaald:

<a href="show_supplier.asp?pid=<%=CatRS( "id" )%>"><%=catrs("prod")%></td>

Voor de duidelijkheid: de ProductID verwijst naar de querystring:

productID = Request.QueryString("pid")

Specs


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:42
En ben je dan zeker dat productid ingevuld is?

https://fgheysels.github.io/


  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Bedoel je daarmee dat het niet goed is?

Specs


  • Manual
  • Registratie: Maart 2002
  • Laatst online: 11-05 12:58
Tis voor elkaar. Ik heb alles nog eens nagelopen en ik heb de fout gevonden. Een verkeerde tabelnaam |:(
Ik denk dat ik er gister te lang mee bezig ben geweest en het daardoor over het hoofd heb gezien.

NB. Misschien een ideetje voor GoT: Wanneer, zoals nu in mijn geval, een probleem is opgelost is het misschien een idee om een soort vinkje te plaatsen in de topic welke men kan aanvinken als het probleem opgelost is. De mede Tweakers weten dan dat er niet meer op gereageerd hoeft te worden en men haalt geen oude topics meer naar boven....

Specs

Pagina: 1