Nullable types in insert

Ejla!
Naletel sem na eno zadevo, ki me je malce zmotla. Zdaj, ne vem, ali mogoče delam jz kaj narobe, ampak ko sem nardil tole, mi je javilo error....

public int InsertNewGroup(int? id_company, string name, string description)
{
       //povezava z bazo
       //stored procedura

        //@id_company je tipa int
       cmd.Parameters.AddWithValue("@id_company", id_company);

       //execute
}


Zanima me, ali je to v c# tako določeno, da AddWithValue ne more dodati null k temu parametru, DBNull pa lahko. A ne skonverta sam null v DBNull?

ko sem dal pa potem tole finto, mi je pa delalo ok...

object id_company_value;
if (id_company == null)
         id_company_value = DBNull.Value;
else
         id_company_value = id_company;

cmd.Parameters.AddWithValue("@id_company", id_company_value);


A je kaksna boljsa finta?
Avtor: bojanv, objavljeno na portalu SloDug.si (Arhiv)

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.

fluethy
fluethy - ponedeljek, 26. avgust 2024

Alborzi S, Hamedi B, Omidvar A, Dehbashi S, Alborzi S, Alborzi M A comparison of the effect of short term aromatase inhibitor letrozole and GnRH agonist triptorelin versus case control on pregnancy rate and symptom and sign recurrence after laparoscopic treatment of endometriosis <a href=https://enhanceyourlife.mom/>buy priligy 60</a>

AndrejT
AndrejT - sobota, 08. april 2006

V stored proceduri postavi privzeto vrednost za @id_company = null, pa bo.

bojanv
bojanv - sobota, 08. april 2006

Vhodni parameter v stored proceduri je tipa int, torej identifikacijska številka podjetja, shranjenega v bazi...privzete vrednosti nima, preverja se samo is null , ker se potem izvede drug query. V kolikor mi podatke ne vrne, imam se en output parameter @error_msg, preko katerega izvem, kaj je narobe. Ampak do tega sploh ne pridem, v kolikor uporabim nullable types.... Pa ravno v tem primeru, ko je resitev z njimi tako preprosta in super...

AndrejT
AndrejT - petek, 07. april 2006

Kako pa je vhodni parameter definiran v stored proceduri? Ima nastavljeno privzeto vrednost v primeru,&nbsp;ko parameter ni podan?

bojanv
bojanv - petek, 07. april 2006

men je javlo error, da je @id_company ni definiran....ko sem debugiral, mi je pa pokazal vrednost null. Pole, ko pa sem sel pogledal v bazo, sem videl, da je id_company int. Torej, mislim, da ne pozre direktno null. Bom pa poskusil se na tastar nacin, torej z parameters.Add metodo....

MihaM
MihaM - petek, 07. april 2006

Mislim, nisem prav siguren, da se moraš še vedno truditi s tistimle if-om. Zgleda da je ado.net ekipa bila v popolni izolaciji od&nbsp;ekipe ničnih tipov...