[ edmir @ 02.09.2005. 15:37 ] @
Imam tabelu sa broj tipa double
napravim konekciju na bazu i pokusam ovo

bdpCommand1= new BdpCommand("INSERT INTO podaci (broj) VALUES (5)",kon);
k.Open();
bdpCommand1.ExecuteNonQuery();
k.Close();
i ... u tabelu se upise 5,00 i to je ok.

Međutim
double a=5;
bdpCommand1= new BdpCommand("INSERT INTO poda (IME) VALUES (@a)",k);
bdpCommand1.Parameters.Add("@a",BdpType.Double).Value=a;
k.Open();
bdpCommand1.ExecuteNonQuery();
k.Close();
ne radi.. sta je problem?
Opsostite na pitanju ali ... moram pitati nije mi SQL jača strana.




E sad je ok
bdpCommand1.Parameters["@a"].Value=a;
Hm... sam sebi odgovaram.

[Ovu poruku je menjao edmir dana 05.09.2005. u 21:58 GMT+1]
[ Mrav @ 09.09.2005. 15:13 ] @
Stani, Stani. Pa ti pokušavaš u C# da napraviš zamenu promenljive kako ne mere!

Kada u stringu napišeš (@a) to ti neće odraditi posao, ti tako dobijaš string koji u sebi sadrži niz (@a) a ne menjaš promenljivom, treba da koristiš konkatenaciju stringova, kao "sve prethodno VALUES(" + a.ToString() + ")" i tome slično.
[ tweeester @ 09.09.2005. 15:39 ] @
Citat:
Mrav... treba da koristiš konkatenaciju stringova, kao "sve prethodno VALUES(" + a.ToString() + ")" i tome slično ...

Jel to PHP govori iz tebe? "SQL Injection, eve me !!!", salim se, covek je u pravu (a i sam je sebi pokazao resenje), kod koji si predlozio je jako losa praksa (pa se posle cude kad neko drpi sve email adrese ES user-a).
[ Mrav @ 09.09.2005. 23:29 ] @
Ne bih se složio da je ovakav kod loš, to je čak i uobičajena praksa u .net kodu. Ovaj kod ništa ne otkriva (pod uslovom da se promenljiva dinamički puni vrednošću), a i da bi neko otkrio kojom vrednošću je popunjena promenljiva trebao bi da ima izvorni kod ( a u tom slučaju zna sve o tome šta ti koja promenljiva sadrži). I na jedan i na drugi način ti SQL serveru šalješ u osnovi istu komandu, pa ako neko to presretne eto belaja i na ovaj i na onaj način.

I gde vide vezu sa PHP? Moje nasleđe je C++ ako ti nešto znači .