PDA

View Full Version : سوال: امتیاز دهی به Post



fakhravari
دوشنبه 11 مهر 1390, 14:58 عصر
با سلام دوستان
من یه جدول دارم که اخبار ها را نشان میده .
و یه جدول که امتیاز به ان post رو ذخیره میکنه.

الان مشکل من برای نمایش امتیاز اون پست است چون می خواهم تعداد افراد با sum امتیاز باشه.
برای مثال با این شکل

<Columns>
<asp:TemplateField>
<ItemTemplate>
<table bgcolor="Silver" border="1" class="style1" dir="rtl" width="100%">
<tr>
<td class="style3">
شماره :
</td>
<td class="style4">
<%# HttpUtility.HtmlEncode(Eval("ID").ToString())%>
</td>
</tr>
<tr>
<td class="style3">
نام :
</td>
<td class="style4">
<%# HttpUtility.HtmlEncode(Eval("name").ToString())%>
</td>
</tr>
<tr>
<td>
[<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>] - [<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>]
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>

در label1 تعداد افراد و در label2 جمع امتیاز هر کد اخبار
___________________________________
کدی که نوشتم توی کلاس درسته ؟؟
public DataTable GetOne()
{
SqlConnection con1 = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=t1;Integrated Security=True;Pooling=False");
con1.Open();

SqlCommand cmd1 = new SqlCommand("Rating", con1);
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.Add("@ID", SqlDbType.NVarChar).Value = id;

SqlDataAdapter da = new SqlDataAdapter(cmd1);
DataTable dt = new DataTable();

da.Fill(dt);
con1.Close();

if (dt.Rows.Count > 0)
{
this.tewst = Int32.Parse(dt.Rows[0]["jamrate"].ToString());
this.t1 = Int32.Parse(dt.Rows[0]["cnt"].ToString());
}
else
{

}
return dt;
}
کد procedure
ALTER PROCEDURE [dbo].[Rating](@ID int)
AS
begin
SELECT Count(*) as cnt ,sum(rate)as jamrate FROM rt where ID =@ID
end

mayamz
دوشنبه 11 مهر 1390, 15:21 عصر
public void GetOne()
{
SqlConnection con1 = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=t1;Integrated Security=True;Pooling=False");
con1.Open();

SqlCommand cmd1 = new SqlCommand("Rating", con1);
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.Add("@ID", SqlDbType.NVarChar).Value = id;

SqlDataAdapter da = new SqlDataAdapter(cmd1);
DataTable dt = new DataTable();

da.Fill(dt);
con1.Close();

if (dt.Rows.Count > 0)
{
lable1.Text = Int32.Parse(dt.Rows[0]["jamrate"].ToString());
lable2.Text = Int32.Parse(dt.Rows[0]["cnt"].ToString());
}
else
{

}
return dt;
}



این رو هم در Page_Load بنویس



if(!Ispostback)
{
GetOne();
}

Saman Hashemi
دوشنبه 11 مهر 1390, 15:23 عصر
حالا حاصل جمع رای تقسیم بر تعداد بکن تا میانگین بدست بیاد و بعد نمایش بده...!

fakhravari
دوشنبه 11 مهر 1390, 15:51 عصر
نه میانگین نمیخواهم.
در این کد cmd1.Parameters.Add("@ID", SqlDbType.NVarChar).Value = id
من چطور باید id پست رو بدونم که بتونه فیلتر رو انجام بده
یه چیزایی توی مایع های grid.row که index بدست میاره؟؟؟
int a = e.Row.RowIndex;
اما توی Page_Load شه همچنین کدی نوشت؟؟
به صورت تکی میشه برنامه درسته اما در پیج لود به چه شکل id سطر ها رو تشخیص بده.
label شناسایی نمیکته با این دستر هم نمیکنه
Label l1 = (Label)GridView2.FindControl("Label1");
l1.Text = c.t1.ToString();

Saman Hashemi
دوشنبه 11 مهر 1390, 16:24 عصر
با استفاده از چی میایی توی صفحه نمایش پست یا session یا QueryString دیگه،از همونا استفاده کن...!

fakhravari
دوشنبه 11 مهر 1390, 18:28 عصر
درسته اما من برای نمایش از select * استفاده میکنم.
درسته با session یا QueryString اگه برای نمایش 1 رکورد که با یک کد یکتا بود مشکلی نیست .
اما من از select * استفاده میکنم .اگه منظورمن رسونده باشم
__________________________________________________ __
news t = new news();
grid.datasours=t.getlist();
به این شکل

fakhravari
سه شنبه 12 مهر 1390, 02:31 صبح
دوستان به شکل ساده حساب کنبد یک سری اطلاعات روی جدول اخبار .id - news - time - date
خوب الان یه بانک دارید برای امتیاز دهی idpost - rate
خوب الان من به این شکل می خواهم تعداد افراد شرکت کننده در رای گیری و جمع مقدار رای دادن.
ALTER PROCEDURE RatingAmar(@PostID int)
AS
begin
SELECT Count(*) as cnt ,sum(Rating)as jamrate FROM RatingPost where PostID = @PostID
end

خوب الان من به چه شکل DataBind اطلاعات رو روی گرید جدول اخبار
احتمال داره از اینجا بشه ؟ GridView2_PageIndexChanging

fakhravari
شنبه 16 مهر 1390, 00:01 صبح
دوستان یاری نمیکنن