[ MACTEPx @ 02.10.2011. 12:28 ] @
Imam neki datum u bazi (tip datetime podesen na not required) i potrebno je da se taj datum izbrise tj. izmeni da bude null vrednost. Problem je sto u c#-u ne mogu u tipu datetime da stvim null vec mora da bude neka konkretna vrednost datuma. Pokusao sam i sa nullable tipom datetime? ali dobijam gresku prilikom upisivanja te null vrednosti u bazu. Kako da resim ovaj problem?
[ wex-alpha @ 02.10.2011. 19:27 ] @
Mozes da upises neki specijalna datum, nesto kao 1.1.1500. I kasnije kada god naidjes na taj datum, samo ga ignore :)
[ deerbeer @ 02.10.2011. 19:48 ] @
Hmm .. a ovo : ?
Code:

Nullable<DateTime> _date ; 
[ vujkev @ 02.10.2011. 22:08 ] @
Kako menjaš datum u bazi? Koja je SQL komanda?

Ako koristiš parametre u SQL upitu samo nemoj da proslediš vrednost za taj parametar i biće upisan NULL
[ MACTEPx @ 03.10.2011. 16:23 ] @
DateTime? je isto sto i Nullable<DateTime> koliko mi se cini. Probao sam i na taj nacin ali prilikom izvrsavanja upita dobijem gresku: Syntax error in date in query expression '#'. Znaci baza odbija da upise null vrednost za datum, a rucno u accesu mogu da izbrisem taj isti datum i to je opet null vrednost.

A upit izgleda ovako:
Update Kontakti Set datum=#{0:MM/dd/yyyy}# Where id={1} (koristim string.format)

Pokusao sam da ne prosledim vrednost za taj parametar u upitu ali onda vrednost nije null vec ostaje ista kao sto je bila u bazi, menjaju se samo parametri koji su navedeni u upitu.

Stvarno ne znam kako ovo da resim.
[ vujkev @ 03.10.2011. 16:32 ] @
Ako već ne koristiš parametre u sql upitu nego sam generišeš celu SQL komandu, onda moraš da se potrudiš da sve što prosleđuješ bude validan SQL

kod je u VB-u pošto njega koristim, ali pretpostavljam da neće biti problem da ga prilagodiš C#-u
Code (vb):

dim sqlDatum as string
dim d as date
if d = date.min then  'ili koji god uslov tebi odgovara
sqlDatum = "Null"
else
 sqlDatum = string.format("#{0:MM/dd/yyyy}#", d)  ' valjda je ovo ispravna sintaksa
end if

string.format ("Update Kontakti Set datum={0} Where id={1} ", sqlDatum, .... )

 
[ MACTEPx @ 03.10.2011. 18:02 ] @
Validan je sql, sve radi normalno kad postoji neki datum tj. kad nije null. Stavio sam samo deo u kom je sql upit a parametre normalno prosledjujem.
[ vujkev @ 03.10.2011. 18:14 ] @
pa nije validan kad proslediš Null :) Moraš da se osiguraš da je validan kad proslediš bilo koji podatak
[ MACTEPx @ 05.10.2011. 17:16 ] @
e sad radi, hvala :)