View Full Version : سوال: نحوه نوشتن یک پروسیجر جهت درج در جدولی که یک ستون identity دارد بوسیله linq و نحوه کاربرد آن asp.net
mustafaehsani
شنبه 01 شهریور 1393, 12:34 عصر
1- این کد برای پروسیجر درسته؟؟؟؟؟؟؟؟؟؟؟؟
SbcID ستون identity هست
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[insert_sbc]
@SbcID int,
@StIID nchar(10),
@SelCID int
AS
insert into dbo.SyBeCr(SbcID,StIID, SelCID) values(@@IDENTITY,@StIID,@SelCID)
RETURN
2- نحوه استفاده اون در asp.net بوسیله linq چطوریه؟؟؟؟؟؟
db.insert_sbc(SbcID: ????????????, StIID: lbl_user.Text, SelCID: y);
3- این error چیه؟؟؟؟؟؟؟؟
122569
iceweek
شنبه 01 شهریور 1393, 15:28 عصر
ستونی که identity هستو توی اینسرت مقدار دهی نکن.خودش مقدار میگیره
mustafaehsani
شنبه 01 شهریور 1393, 15:50 عصر
ستونی که identity هستو توی اینسرت مقدار دهی نکن.خودش مقدار میگیره
یعنی اصلا توی insert نیارمش یا فقط مقدار نداشته باشه
iceweek
شنبه 01 شهریور 1393, 16:08 عصر
یعنی اصلا توی insert نیارمش یا فقط مقدار نداشته باشه
اصلا ننویسش.انگار همچین ستونی نداری.
mustafaehsani
شنبه 01 شهریور 1393, 16:13 عصر
1- پروسیجر به اینصورت نوشتم
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[insert_sbc]
@StIID nchar(10),
@SelCID int
AS
insert into dbo.SyBeCr(StIID, SelCID) values(@StIID,@SelCID)
RETURN
2- به اینصورت هم ازش استفاده کردم
db.insert_sbc(StIID: lbl_user.Text, SelCID: y);
3- اما این error میده چرا؟؟؟؟؟؟
122574
mustafaehsani
شنبه 01 شهریور 1393, 16:18 عصر
اینم تمام کد مربوط به button
protected void btn_insert_Click(object sender, EventArgs e)
{
int y = int.Parse(txt_CID.Text);
DataClassesDataContext db = new DataClassesDataContext();
var sea = (from hbk in db.Hb_KardaniPs
where hbk.CreID == y
select hbk);
if (sea.Any())
{
var seb = (from sb in db.SyBeCrs
where sb.StIID == lbl_user.Text
select sb);
if (seb.Any())
{
var sec = (from sb in db.SyBeCrs
where sb.StIID == lbl_user.Text
select sb.SelCID).Single();
var sed = (from sb in db.SyBeCrs
where sb.StIID == lbl_user.Text
join crd in db.Credits on sb.SelCID equals crd.CID
select crd.Unit).Sum();
if (sec == y)
{
string message = "alert('کد وارد شده تکراری است')";
ScriptManager.RegisterClientScriptBlock((sender as Control), this.GetType(), "alert", message, true);
lbl_error.Visible = true;
lbl_error.Text = "کد وارد شده تکراری می باشد";
}
else if((sed + y) > 20)
{
string message = "alert('شما مجاز به انتخاب تا سقف 20 واحد می باشید')";
ScriptManager.RegisterClientScriptBlock((sender as Control), this.GetType(), "alert", message, true);
lbl_error.Visible = true;
lbl_error.Text = "شما مجاز به انتخاب تا سقف 20 واحد می باشید";
}
}
else
{
db.insert_sbc(StIID: lbl_user.Text, SelCID: y);
string message = "alert('ثبت شد')";
ScriptManager.RegisterClientScriptBlock((sender as Control), this.GetType(), "alert", message, true);
lbl_ok.Visible = true;
lbl_ok.Text = "ثبت شد";
}
}
else
{
string message = "alert('کد وارد شده اشتباه است')";
ScriptManager.RegisterClientScriptBlock((sender as Control), this.GetType(), "alert", message, true);
lbl_error.Visible = true;
lbl_error.Text = "کد وارد شده تکراری می باشد";
}
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.