[ MarkoBalkan @ 09.02.2009. 21:13 ] @
ovo je pojednostavljeno, inače je u datatleyeru sve.

dali je pogrešno ako se procedura zove preko dataadaptera?


recimo



definicija stringa
definicija konekcije
definicija dataadaptera
dataadapter("call moja_procedura(prametar1,parametar2" , konekcija)



ovo izvrsno radi.znači da kao string može doći i query ali i poziv procedure.





radi se o C# i mysql bazi ,verzija 5.1.
[ sallle @ 10.02.2009. 01:59 ] @
da, radice ... neces moci da uhvatis return value iz procedure

skolski bi trebalo da ti da definises sqlcommand
i da mu definises propertije:
- commandtext = "nazivprocedure"
- commandtype = commandtype.storedprocedure
- parameters.add(new sqlparameter ...

i da taj sqlcommand prosledis tvom adapteru
[ mmix @ 10.02.2009. 07:51 ] @
Funkcionalno je ok, pod uslovom da pazis na SQL Injection napade. Semanticki nije ispravno jer ti datalayer nije takav da je u njemu "sve" , tj gubis separaciju izmedju layer-a jer ce layer iznad DL-a morati da se bavi generisanjem SQL izraza za specificni RDBMs.

[ MarkoBalkan @ 10.02.2009. 09:19 ] @
Citat:
mmix
Funkcionalno je ok, pod uslovom da pazis na SQL Injection napade. Semanticki nije ispravno jer ti datalayer nije takav da je u njemu "sve" ;), tj gubis separaciju izmedju layer-a jer ce layer iznad DL-a morati da se bavi generisanjem SQL izraza za specificni RDBMs.



jel možeš malo više o SQL Injection?

u datalayeru je samo ovih par redova.a u posebnoj klasi je pozivanje procedura s parametrima tj. u dll file-u.

radi se o desktop aplikacijama koje bi bile u lokalnoj mreži.

[ Igor Gajic @ 10.02.2009. 12:41 ] @
Imas vise na

http://en.wikipedia.org/wiki/SQL_injection


Da se nadovezem na temu...

U jednom delu koda imam:

Code:

cmdCreateUser.CommandText="CREATE USER '"+ImeKorisnika+"'@'%'";


I ovo je vec ranjivo na SQL Injection...

Da li je moguce spreciti napad koriscenjem parametara tj. da koristim:

Code:

cmdCreateUser.CommandText="CREATE USER ?ImeKorisnika@'%'";


ili se mora ici tezim nacinom(provera validnosti unetog texta).