[ASP.NET/SQL] select where nummer 'wisselde waarde'

Pagina: 1
Acties:

  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 13:02

Erhnam

het Hardware-Hondje :]

Topicstarter
Ik heb een pagina waar een heleboel producten op worden weer gegeven. Daarnaast wil ik ook 1 product op de frontpage weergegeven zien worden.
Met deze regel werden alle producten die op show_yes = 1 (show_yes =0, nog niet klaar/compleet) stonden keurig weergegeven:

Dim MyCommand As New SqlDataAdapter("select * from groep_outdoor where show_yes = 1", MyConnection)

Maar wat ik nu eigenlijk wil is dat ik kan kiezen welk artikel nummer op de frontpage wordt weergegeven.

select FrontID from frontpage (hierin wordt een variabel artikel nummer opgeslagen.. ik maak later een pagina om alleen deze waarde makkelijk aan te passen)

Ik heb al zoiets geprobeerd maar dat wilde niet echt werken:

Dim a As string = "select FrontID from frontpage"
Dim MyCommand As New SqlDataAdapter("select * from groep_outdoor where EAN_NO = '" & a & "' ", MyConnection)


En dit werkte ook niet:

Dim MyCommand As New SqlDataAdapter("select * from groep_outdoor where EAN_NO = 'select FrontID from frontpage' ", MyConnection)

Wat die dus eigenlijk moet doen is gewoon het EAN_NO gelijk maken aan wat er in FrontID in frontpage staat. Ik heb al bv getest EAN_NO gelijk te stellen aan '1' en dat werkte prima. Dan kwam het eerste product op de pagina. FrontID in frontpage heb ik het eerste velde ook de waarde 1 gegeven.. maar het wil niet echt lukken..

http://194.134.242.2/test/piethein/frontchange/show.aspx

Hij geeft dus nu niks weer.. Geen fouten maar hij haalt niks uit die database lijkt het...

Ziet er iemand wat ik fout doe of niet begrijp ?
Bedankt voor alle genomen moeite!

http://www.xbmcfreak.nl/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Gebruik eens tracing om wat meer informatie op te slaan. Zet hier onder andere je query in.

Je kan deze query vervolgens op je db uitproberen, kijken of je query uberhaupt wel goed is.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 13:02

Erhnam

het Hardware-Hondje :]

Topicstarter
Bedankt voor je reactie!

Kijk in FrontID staat echt data: http://194.134.242.2/test/piethein/frontchange/datagrid.aspx

Dat heb ik net ff getest...

Ik heb ook ff geprobeerd om 'select * from groep_outdoor where EAN_NO = 1' te kijken of die wel data showed en dat doet die ook gewoon prima...

Wat bedoel je precies met tracing om wat meer informatie op te slaan ?

http://www.xbmcfreak.nl/


Verwijderd

Wat mij logischer lijkt is om een extra boolean kolom 'OnFrontPage' aan de tabel 'groep_outdoor' toe te voegen, waar er slecht bij 1 van de records 'True' mag staan. Dit record wordt dan op de frontpage weergegeven. De update hiervan moet ook redelijk eenvoudig te maken zijn.

Succes :)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Erhnam schreef op 14 november 2002 @ 17:14:
Ik heb ook ff geprobeerd om 'select * from groep_outdoor where EAN_NO = 1' te kijken of die wel data showed en dat doet die ook gewoon prima...
Dat geloof ik wel dat die werkt.. ;)
Doelde eigenlijk meer op:
select * from groep_outdoor where EAN_NO = 'select FrontID from frontpage'
EAN_NO lijkt mij een numerieke waarde, 'select FrontID from frontpage' is GEEN query, maar een string. Ik weet niet de precieze syntax (dus gokwerk ff), maar kan je niet iets doen van:
code:
1
select * from groep_outdoor where EAN_NO IN (select FrontID from frontpage)

oid. Zijn evt. joins ook niet mogelijk tussen deze twee?
Wat bedoel je precies met tracing om wat meer informatie op te slaan ?
Voorbeeld:
code:
1
2
3
4
5
...
HttpContext.Current.Trace.Write("Frontpage","Starten met het laden van frontpage")
HttpContext.Current.Response.Write("Eerste regel")
HttpContext.Current.Trace.Write("Frontpage","Eerste regel geschreven")
...

Je kan dan deze pagina, mits goed ingesteld in je web.config, aanroepen met bijvoorbeeld: http://localhost/applicationname/trace.axd

Je krijgt dan extra tracinginformatie over de pagina en kan je dus min of meer een pagina volgen.
Wat mij logischer lijkt is om een extra boolean kolom 'OnFrontPage' aan de tabel 'groep_outdoor' toe te voegen, waar er slecht bij 1 van de records 'True' mag staan. Dit record wordt dan op de frontpage weergegeven. De update hiervan moet ook redelijk eenvoudig te maken zijn.
Waarom geef je altijd van die simpele oplossingen? :( :+

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 13:02

Erhnam

het Hardware-Hondje :]

Topicstarter
SELECT * FROM groep_outdoor WHERE EAN_NO = (SELECT FrontID FROM frontpage)

Dat was het :) ben er al uit... Thx voor alle moeite!!!

http://www.xbmcfreak.nl/


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 13:02

Erhnam

het Hardware-Hondje :]

Topicstarter
Verwijderd schreef op 14 November 2002 @ 17:17:
Wat mij logischer lijkt is om een extra boolean kolom 'OnFrontPage' aan de tabel 'groep_outdoor' toe te voegen, waar er slecht bij 1 van de records 'True' mag staan. Dit record wordt dan op de frontpage weergegeven. De update hiervan moet ook redelijk eenvoudig te maken zijn.

Succes :)
Ook een zeer goed idee !! eigenlijk niet aangedacht.. simpele dingen wil je soms te moeilijk maken..

http://www.xbmcfreak.nl/

Pagina: 1