PDA

View Full Version : سوال: ثبت مقدار null در parentId



hastiam
شنبه 23 اردیبهشت 1391, 20:53 عصر
سلام
من فیلدی به نام ParentCode دارم که از نوع int است برای بار اول می خوام این فیلد مقدار Null بگیره برای ثبت از دستور زیر استفاده کردم


public static int Insert(string Name, string ShowingCode, int? ParentCode, byte GLevel, bool State)
{
int? ParentCode= 0;
ParentCode= null;
......
cmd.CommandText = "Insert into dbo.TblGoods(Name,GLevel,State,ShowingCode,ParentC ode) Values (@gname,@level,@gstate,@gcode,@parent)";
cmd.Parameters.AddWithValue("@gname", Name);
cmd.Parameters.AddWithValue("@parent", ParentCode);
cmd.Parameters.AddWithValue("@gcode", ShowingCode);
cmd.Parameters.AddWithValue("@level", GLevel);
cmd.Parameters.AddWithValue("@gstate", State);
}
.....

اما وقتی می خواد عمل Insert رو انجام بده با خطای زیر مواجه میشم برای اینکه این مشکل رو حل کنم چه کار باید کنم؟
خطا :
The parameterized query '(@goodsId int,@gname nvarchar(5),@gcode nvarchar(5),@parent nvar' expects the parameter '@parent', which was not supplied.

mo.esmp
شنبه 23 اردیبهشت 1391, 23:30 عصر
از یه دستور شرطی استفاده کنید که اگه ParentCode برابر null بود مقدار "@parent" رو برابر DBNull.Value قرار دهید در غیر اینصورت مقدار ParentCode رو قرار بدین.

d_derakhshani
یک شنبه 24 اردیبهشت 1391, 12:22 عصر
می تونید در sp به این پارامتر مقدار DefaultValue برابر null بدید. در این صورت دیگه لازم نیست که این پارامتر از طریق برنامه supply بشه.