[SQL(asp)] order by op numeriek veld

Pagina: 1
Acties:

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Hallo,

Ik heb een raar probleem waar ik jammergenoeg geen foutmelding van kan laten zien, simpelweg omdat ik die niet krijg. Toch krijg ik verkeerde resultaten. Als in mijn tabel sorteer op een numeriek veld en de waardes staan als volgt:

code:
1
2
3
4
5
6
ID  Prijs
------------------------
1   8
2   9
3   5
4   4


Dan zou mijn resultaat, met een 'SELECT * FROM tabel ORDER BY Prijs' query toch moeten zijn:
code:
1
2
3
4
5
6
ID  Prijs ^
------------------------
4   4
3   5
1   8
2   9


Maar ik krijg hele andere resultaten, die niets met dit te maken hebben. Ik kan ze ook niet linken, ik zie niet waarop er wel ge-sorteert wordt, maar het sorteert gewoon niet goed!

Het zal vast wel gemakkelijk zijn, maar ik kom er niet uit :)

help wanted _/-\o_

edit: het is niet zo dat het op string vergeleken wordt, want dan zouen mijn resultaten zo zijn:
1, 11, 2, 20, 22, enz...

maar dat is het niet :x

[ Voor 10% gewijzigd door semicon op 28-04-2005 09:37 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 09:11
Je bent wel zeker dat 'Prijs' een numeriek veld is, en dat het geen alfanumeriek veld is waar je die nummes in zet ?

https://fgheysels.github.io/


  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
alfanumeriek?? 8)7

Gewoon bij type veld numeriek, niet valuta, niet autonumering (doh :P) en niet iets anders, gewoon numeriek, standaard ingesteld.


edit:
code:
1
"SELECT * FROM Art WHERE artOmsch LIKE '%" & SearchStr & "%'  ORDER BY " & strOrderBy

precies mijn orginele query ^

als ik mijn SQL print, is hij gewoon goed. ik zoek gewoon op een letter p ofzo.
En die strOrderBy is gewoon mijn prijs-veld in dit geval.

[ Voor 83% gewijzigd door semicon op 28-04-2005 09:45 ]


  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Ik heb het probleem, eindelijk, gevonden. Het heeft te maken met artikelprijzen met verschillende marges, de echte prijs (inkoop) was de sortering die zo raar was. 8)7

topic kan dicht :P (dat ik hier nou een hele dag gister aan verspilt heb :x)

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
semicon schreef op donderdag 28 april 2005 @ 09:38:
code:
1
"SELECT * FROM Art WHERE artOmsch LIKE '%" & SearchStr & "%'  ORDER BY " & strOrderBy
Ik hoop niet dat jij deze query gebruikt in je webapp...

Wanneer dat wel zo is, dan raad ik je aan om een op SQL injection te zoeken

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Ik gebruik deze wel maar deze wordt van tevoren gecheck op ', ; en " tekens, en natuurlijk de HTML encode voor het weergeven van je zoekte op: <woord>


Ik neem aan dat dat genoeg is... :Y) tis overigens maar een access db

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Veiligheid is niet het enige argument hoor..

Wat te denken van de overzichtelijkheid van je script? Door met paramaterized queries te werken scheidt je de waarden die je database ingaan van de eigenlijk sqlstring.

Daarnaast is het overstappen van access naar sqlserver ook een stuk eenvoudiger wanneer je gebruik maakt van parameterized queries. Zeker wanneer je datums niet in je sqlstring meegeeft, maar via je .command opgeeft...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Zou je een voorbeeld kunnen geven van een paramitezed query zoals de zoekstring hierboven, ik snap je niet helemaal namelijk.

als ik een select [blaat] from [tabel] where [iets] = [zoiets] order by [waarop ik het wil] doe, dat is toch de meest eenvoudige manier?? Als je param***bla query's maakt, wat levert het mij dan op :?

:X heb wel een site gevonden met dit:

sSQL = "SELECT FirstName, LastName, Title FROM Employees WHERE (EmployeeID > ? AND HireDate > ? AND Country = ?)"
oCmd.CommandText = sSQL
set oRs = oCmd.Execute (,Array(sEmpId,sHireDate,sCountry))


maar of ik hier duidelijker uit wordt??

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 07-05 22:24
Parameterized queries zijn toch een .NET ding?

Roomba E5 te koop


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Nee je kan eventueel gebruik maken van een "query" in Access, en deze net als een stored procedure benaderen. Het wordt niet veel gedaan, maar ik heb het wel eens uitgeprobeerd.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Nee, parametrized queries zijn een ADO ding. Je kunt het in VB6 ook al doen, sterker nog, dat heb ik zeer recentelijk nog gedaan :)

edit: In ASP kun je het dus ook gebruiken, was ik vergeten te zeggen ;)
en: http://msdn.microsoft.com...o270/htm/mdobjcommand.asp voor meer info

[ Voor 42% gewijzigd door bigbeng op 28-04-2005 17:43 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Als je je echt wilt verdiepen in ADO (en command is daar een object van) dan raad ik je aan de Microsoft Data Services SDK te downloaden. Die is onderdeel van de Platform SDK en die kun je op onderstaande link vinden....

http://www.microsoft.com/...C0EC4F68E5&displaylang=en

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!

Pagina: 1