Toon posts:

ASP/SQL

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

Verwijderd

Topicstarter
Ik heb de volgende code die dus niet werkt omdat je niet meerdere record sets tegelijk kan openen hoe kan je ervoor zorgen dat die wel al die recordsets kan openen of alleen de gebruikte sql statement gebruikt. Want krijgt van de asp pagina hiervoor een bepaalde rubriek mee.

rubriek2=request.QueryString("rubriek")

SQL_queryWasmachines = "SELECT * FROM Wasmachines WHERE Productnaam='" & rubriek2 & "'"

SQL_queryAfwasautomaten = "SELECT * FROM Afwasautomaten where Productnaam='" & rubriek2 & "'"

SQL_queryKoelkasten = "SELECT * FROM Koelkasten where Productnaam='" & rubriek2 & "'"
SQL_queryWasdroogcombinaties = "SELECT * FROM WasDroogCombinaties where Productnaam='" & rubriek2 & "'"

Rs.open SQL_queryWasmachines, SQL_queryAfwasautomaten, SQL_queryKoelkasten, SQL_queryWasdroogcombinaties, conn

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Of Stored Procedures gebruiken of meerdere recordsets achter elkaar openen.

Oftewel: Alles serieel uitvoeren.
Moet je 2 recordsets tegelijk hebben, dan moet je of je query aanpassen, of meerdere recordsetobjecten maken.

[ Voor 50% gewijzigd door gorgi_19 op 29-08-2003 12:23 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

je kunt ze gewoon achter elkaar opvragen. wat ik me ook nog wel kan voorstellen is dat de tabellen op elkaar lijken. Dan kun je alles misschien met een UNION in 1 recordset krijgen ;)

kaart != map && bottel != fles
Wacht op antwoord


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Nu ik de queries goed bekijk, is het misschien ook een idee om je datamodel eens goed te gaan bekijken, want volgens mij is daar ook wel een en ander aan te verbeteren.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Beetje suf dit. Als je verschillende gegevens uit verschillende tabellen wilt ophalen, dan zal je wel meerdere recordsets, al dan niet tegelijk, moeten openen.

Maar de oplossing voor jouw probleem gaat meer richting een 'slimme' query. Je kunt een 'UNION' command in je query gebruiken. Voorwaarde is wel dat je uit de verschillende kolommen dezelfde gegevens haalt.

:7

En inderdaad moet je je datamodel eens herzien. Je kunt beter alle producten in één tabel flikkeren en een kolommetje toevoegen met 'productsoort' o.i.d.

Verwijderd

Topicstarter
Ik ben nog niet zo goed in sql maar hoe zet ik al die query's dan in 1 query.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 29 August 2003 @ 12:32:
Ik ben nog niet zo goed in sql maar hoe zet ik al die query's dan in 1 query.
Select melp from blaat
UNION
Select melp2 from blaat2

Geldt alleen als de kolommen(aantal en type) hetzelfde zijn in dezelfde volgorde.

Anders niet.

Maar je zit waarschijnlijk wel jezelf in de nesten te werken, omdat je een zwakke structuur hebt gebouwd.

[ Voor 15% gewijzigd door gorgi_19 op 29-08-2003 12:33 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Bijv:

SELECT 'wasmachine', Name, price, InStock FROM Wasmachines WHERE Productnaam=X
UNION
SELECT 'Afwasautomaten', Name, price, InStock FROM Afwasautomaten WHERE Productnaam=X
UNION
SELECT 'Koelkasten', Name, price, InStock FROM Koelkasten WHERE Productnaam=X

Verwijderd

Topicstarter
Heb het nu zo

SQL_query = "SELECT Productnaam, Product FROM Wasmachines WHERE Productnaam='" & rubriek2 & "'"
UNION
"SELECT Productnaam, Product FROM Afwasautomaten WHERE Productnaam='" & rubriek2 & "'"
UNION
"SELECT Productnaam, Product FROM Koelkasten WHERE Productnaam='" & rubriek2 & "'"

Maar krijg dan deze foutmedling

Microsoft VBScript compilatiefout fout '800a0400'

Verwacht instructie

/productdetail.asp, regel 16

"SELECT Productnaam, Product FROM Afwasautomaten WHERE Productnaam='" & rubriek2 & "'"
^

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Wat klopt er niet aan:
ASP:
1
Response.Write "Blaat " melp " Blaat"


als je als output:
HTML:
1
Blaat melp Blaat

wilt krijgen?

[ Voor 42% gewijzigd door gorgi_19 op 29-08-2003 12:51 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Lummel! Die UNION is onderdeel van je query dus moet je in VB wel IN je string zetten. Nu interpreteert ie de UNION als vb-code en dat gaat natuurlijk niet werken...

:7

Verwijderd

Topicstarter
Heb hem nu zo en snap echt niet waar de fout nu zit.
Waar moet ik hem sluiten dan??

SQL_query = "SELECT Productnaam, Product FROM Wasmachines WHERE Productnaam='" & rubriek2 & "'
UNION
SELECT Productnaam, Product FROM Afwasautomaten WHERE Productnaam='" & rubriek2 & "'
UNION
SELECT Productnaam, Product FROM Koelkasten WHERE Productnaam='" & rubriek2 & "'"

Krijg deze foutmelding

Microsoft VBScript compilatiefout fout '800a0409'

Tekenreeksconstante is niet afgesloten

/productdetail.asp, regel 14

SQL_query = "SELECT Productnaam, Product FROM Wasmachines WHERE Productnaam='" & rubriek2 & "'

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Zoals in de faq staat, doen we hier niet aan debug werk.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.