PDA

View Full Version : سوال: جمع بستن مقادیر یک فیلد با entity



Fartaj
شنبه 02 آذر 1392, 17:29 عصر
سلام خدمت دوستان

ممنون می شم اگر دوستان درباره جمع بستن مقادیر یک فیلد به شرط درست بودن یک فیلد دیگه با entity یک توضیحی بدن ؟ این کار رو اومدم با پروسجر به همراه entity انجام بدم اما نشد

کد پروسجر :


USE [taban]
GO
/****** Object: StoredProcedure [dbo].[SP_sum_quantity] Script Date: 11/23/2013 17:09:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_sum_quantity]
(
@PType nvarchar(50)
)

AS
BEGIN

select SUM(Quantity) as Total from projects where PType = @PType
return
end



کد C#‎


string type = cmbType.SelectedItem.ToString();
int total = Convert.ToInt32(db.SP_sum_quantity(type));
radLabel11.Text = Convert.ToString(total);


ارور :


The data reader is incompatible with the specified 'tabanModel.projects'. A member of the type, 'ProjectId', does not have a corresponding column in the data reader with the same name.

danialafshari
شنبه 02 آذر 1392, 17:54 عصر
سلام
درست دقت نکردم ولی sp تون رو به این شکل تغییر بدید ببینید مشکلتون حل میشه؟
USE [taban]
GO
/****** Object: StoredProcedure [dbo].[SP_sum_quantity] Script Date: 11/23/2013 17:09:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_sum_quantity]
(
@PType nvarchar(50),
@Jam int output
)

AS
BEGIN
set @Jam=(select SUM(Quantity) as Total from projects where PType = @PType )
end

Fartaj
شنبه 02 آذر 1392, 18:11 عصر
سلام
درست دقت نکردم ولی sp تون رو به این شکل تغییر بدید ببینید مشکلتون حل میشه؟
USE [taban]
GO
/****** Object: StoredProcedure [dbo].[SP_sum_quantity] Script Date: 11/23/2013 17:09:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_sum_quantity]
(
@PType nvarchar(50),
@Jam int output
)

AS
BEGIN
set @Jam=(select SUM(Quantity) as Total from projects where PType = @PType )
end

ممنون از جوابتون اما اون پارامتر دوم رو که اضافه می کنم موقع فراخوانی از من برای پارامتر دوم یک مقداری می خواد در صورتی که اون برای خروجی هست این رو در entity چجوری فراخوانی کنم ؟

Fartaj
شنبه 02 آذر 1392, 18:30 عصر
دوستان پروسجر رو با پارامتر خروجی فراخوانی کردم اما باز هم همون اروری که تو پست اول گفتم رو می ده



ObjectParameter jam = new ObjectParameter("Jam", typeof(int));
db.SP_sum_quantity(type, jam);
radLabel11.Text = Convert.ToString(jam.Value);

davidrobert
یک شنبه 03 آذر 1392, 00:47 صبح
بفرمایید این هم جمع یک ستون با EF که شما لازم دارید.
var query = (from item in db.kalaname
group item by item.Cost
into g
select new
{
SumAmount = g.Sum(x => x.Cost)
});

LblCost.Text = Convert.ToString(query.Sum(x => x.SumAmount));