Toon posts:

[SQL] Queries in code, kan dat ook beter? *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Vaak heb je brakke constructies in je code als (hier javascript):
code:
1
2
3
sSQL='SELECT * FROM x WHERE a='+12+' AND s='+sqlEscape(st);
if(b) sSQL+=' AND r='+x;
if(o) sSQL+=' ORDER BY '+f+(bAsc?' ASC':' DESC');

Niet echt handig dus. OK, je kunt heel wat doen met Stored Procedures, maar dat blijkt niet de oplossing.

Toen dacht ik, kan dat niet anders?

Een SOM (SQL Object Model) lijkt een mogelijkheid, maar is denk ik toch niet echt handig.
Het probleem is dat je een taal in een taal hebt. En dat SQL wordt dus niet gecompileerd (pas op runtime).

Hebben jullie hier ideeen over?
____________
*The subject is subject to be altered.

Verwijderd

Waar vind je dat stored procs te kort schieten?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Vind je het heel erg dat ik niet snap waarom je queries definieerd in javascript? die zijn dus makkelijk aan te passen tot een delete * from blaat;

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op vrijdag 22 februari 2002 00:54 schreef Nielsz het volgende:
Vind je het heel erg dat ik niet snap waarom je queries definieerd in javascript? die zijn dus makkelijk aan te passen tot een delete * from blaat;
Niet bekend met het fenomeen server-side javascript? :)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op vrijdag 22 februari 2002 00:58 schreef Onno het volgende:

[..]

Niet bekend met het fenomeen server-side javascript? :)
Oja |:(
wat tevens de vraag bij me omhoog brengt: waarom ga je in godsnaam serverside javascript programmeren :?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17:24

Crazy D

I think we should take a look.

Op vrijdag 22 februari 2002 00:59 schreef Nielsz het volgende:
Oja |:(
wat tevens de vraag bij me omhoog brengt: waarom ga je in godsnaam serverside javascript programmeren :?
:D
omdat ie geen zin had in VBscript? :P

Exact expert nodig?


Verwijderd

Topicstarter
Op vrijdag 22 februari 2002 06:31 schreef Crazy_D het volgende:

[..]

:D
omdat ie geen zin had in VBscript? :P
Inderdaad. VBScript zuigt groot tijd. Serverside doen was alles in jscript (voor asp zaken tenminste).

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 16:17

Basszje

Reisvaap!]

Op vrijdag 22 februari 2002 09:39 schreef Doekman het volgende:

[..]

Inderdaad. VBScript zuigt groot tijd. Serverside doen was alles in jscript (voor asp zaken tenminste).
Vbscript zuigt helemaal niet :( . Da's gewoon jouw smaak :+ .

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


Verwijderd

Op vrijdag 22 februari 2002 00:59 schreef Nielsz het volgende:

[..]

Oja |:(
wat tevens de vraag bij me omhoog brengt: waarom ga je in godsnaam serverside javascript programmeren :?
Serieus Nielsz als jij de keuze had tussen VBScript en JScript, wat zou jij kiezen ;)

Verwijderd

Op vrijdag 22 februari 2002 09:39 schreef Doekman het volgende:
[..]
Inderdaad. VBScript zuigt groot tijd. Serverside doen was alles in jscript (voor asp zaken tenminste).
Vroeger wel ja, (IIS4.0), toen VBScript minder functionaliteit had dan JScript. Dat is nu wel anders (ze kunnen nu evenveel, en VBScript heeft een paar irritante dingen niet, zoals die '+' operator)

Topicstarter: Stored Procedures zijn DE oplossing voor je probleem. Gebruik een command object om ze aan te roepen.

Verwijderd

Op vrijdag 22 februari 2002 00:42 schreef Doekman het volgende:
Vaak heb je brakke constructies in je code als (hier javascript):
code:
1
2
3
sSQL='SELECT * FROM x WHERE a='+12+' AND s='+sqlEscape(st);
if(b) sSQL+=' AND r='+x;
if(o) sSQL+=' ORDER BY '+f+(bAsc?' ASC':' DESC');

Niet echt handig dus. OK, je kunt heel wat doen met Stored Procedures, maar dat blijkt niet de oplossing.

Toen dacht ik, kan dat niet anders?

Een SOM (SQL Object Model) lijkt een mogelijkheid, maar is denk ik toch niet echt handig.
Het probleem is dat je een taal in een taal hebt. En dat SQL wordt dus niet gecompileerd (pas op runtime).
Je wilt runtime een query opbouwen ?
Ik zou gewoon gebruik maken van stored procedures. Veel veiliger en met T-SQL (mssql server) kun je gaan scripten.
Een andere mogelijkheid zou zijn om alle queries in een (bijvoorbeeld) COM(+) object te stoppen en vanuit de client de betreffende functies aan te roepen.
i.i.g. zou ik de queries goed afschermen en dat kan dus mooi met stored procedures.
Pagina: 1